03 2024 档案
2024.3.29 模拟赛总结
摘要:贤者之石 T435273 思路: 一维线性DP,dp[i]表示以i结尾的最大值,dp[i]=max(1,dp[sqrt(i)]+1); 琪露诺的位运算教室 T435274 思路: 数论题,尝试打表,a[i][j]为i&j是否大于等于i^j。 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 阅读全文
posted @ 2024-03-30 11:23 Grylls_117 阅读(6) 评论(0) 推荐(0) 编辑
2024.1.20 模拟赛总结
摘要:T1 前导题 T417406 最简单的判断,只需判断a,b,c,d之间的关系即可。注意开long long; T2 签到题 T417407 小模拟,多种操作问题;for循环套if(opt)即可 T3 钱到题 大模拟,约瑟夫问题的变种。 建立1个pair<编号,分值>类型的队列。 按约瑟夫问题的思路模 阅读全文
posted @ 2024-03-21 15:21 Grylls_117 阅读(2) 评论(0) 推荐(0) 编辑
2024.1.21 算法总结?
摘要:1.vector(向量) 长度可动态调整的数组,时间复杂度稍慢。 基础函数: 1.vector a(n,m); 构造函数,n为初始长度,m为初始值。 2.a[n] 访问下标为n的项。 3.a.push_back(n) 在a的最后加上值为n的1项。 4.for(auto i : a) 遍历a. 5.v 阅读全文
posted @ 2024-03-21 15:21 Grylls_117 阅读(16) 评论(0) 推荐(0) 编辑
STL 模拟练习(2024.1.22)
摘要:1.Split witn Sepuence 模拟简单题,范围较大,O(n^2)不行,用桶排序,自然模拟。(红题 暂未评定) 爱心专座 模拟水题,通过率100%,也是自然的小模拟。 3.弱化版五子棋 模拟简单题,n太小了,模拟练手题。 4.Mahjong 队列简单题,找到规律后模拟,即可完成。 5.围 阅读全文
posted @ 2024-03-21 15:20 Grylls_117 阅读(18) 评论(0) 推荐(0) 编辑
2024.1.23 STL大法
摘要:1.Bad Hair Day S 手写单调栈 一种数据结构,以栈(stack)为基础,但要保持栈的单调有序,每次压入时,把比要压入数据小的弹出(while循环判断注意empty)。 如图: 要压入7 先弹出5,3 在压入7. |....|...|....|...|....| |3..|->|.... 阅读全文
posted @ 2024-03-21 15:19 Grylls_117 阅读(5) 评论(0) 推荐(0) 编辑
STL与模拟练习 ......( 今天主要写模拟 )....
摘要:1.营业额统计 以后做题要记住, 一定先认真读题!!! 看了一眼题,以为是set,兴冲冲写完了一看,听取WA声一片,再仔细一看题,题目没说没有重复数据,但set不允许有重复。于是 multiset (允许重复数据的set) 省了我1个小时。 总结: 一定先认真读题!!! 一定先认真读题!!! 一定先 阅读全文
posted @ 2024-03-21 15:15 Grylls_117 阅读(3) 评论(0) 推荐(0) 编辑
基础算法思想与搜索枚举
摘要:1.位运算与bitset 位运算: & 按位与 | 按位或 ^ 按位异或 .>> 右移 .<< 左移 ! 按位非 bitset: 一种STL数据结构,可用来表示集合。 定义: bitset<大orSIZE> s; 基本函数: 1.s[x]=0 or 1; 将s的x位改为0或1. 2.s.count( 阅读全文
posted @ 2024-03-21 15:15 Grylls_117 阅读(5) 评论(0) 推荐(0) 编辑
ST表
摘要:1.特点: 用于区间最大,小值问题,初始化 O(n log n), 查询 O(1),缺点是无法修改。 2.初始化: int Log2[MAXN],f[MAXN][K];(2^K>MAXN) for(int i=1;i<=MAXN;i++) Log2[i]=Log2[i/2]+1; for(int i 阅读全文
posted @ 2024-03-21 15:14 Grylls_117 阅读(8) 评论(0) 推荐(0) 编辑
二维差分
摘要:1.(一维)差分: 一种能够快速将区间 [l,r] 加或减同一个数的算法,适用于多次修改,1(少量)查询的题目。 一个差分数组的第i项存储的是它与前一项的差,差分数组的前缀和等于原数组。 a(原数组): 1 3 6 4 9 11 3 d(差分) : 1 2 3 -2 5 2 -8 sum_d(前缀和 阅读全文
posted @ 2024-03-21 15:14 Grylls_117 阅读(78) 评论(0) 推荐(0) 编辑
欧. 拉. 筛
摘要:1.特点 在[1,n]区间中,筛出所有质数,并存入prm数组中.时间复杂度O(n) . 2.代码实现 vector prm; bitset <le7(数据范围)> np ; void (const int N=le7){ ....for (int i=1;i< = N ;i++){ ......., 阅读全文
posted @ 2024-03-21 15:13 Grylls_117 阅读(7) 评论(0) 推荐(0) 编辑
DP
摘要:状态:问题当前所处的局面 转移:状态之间的关系 阶段:计算状态的顺序 一维DP优化: for(int i=1;i<=n;i++){ int pos=lower_bound(g+1,g+len+1,a[i]); g[pos]=a[i]; len=max(len,pos); } 完全背包 ——> 多重背 阅读全文
posted @ 2024-03-21 15:12 Grylls_117 阅读(21) 评论(0) 推荐(0) 编辑
gcd
摘要:数论 1.质数分布 [n,2n] 中必有一个以上质数。 2.gcd 阅读全文
posted @ 2024-03-21 15:11 Grylls_117 阅读(3) 评论(0) 推荐(0) 编辑
Floyd
摘要:特点&用处 处理多源最短路问题 复杂度0(n^3) 算法思想 代码实现 阅读全文
posted @ 2024-03-21 15:07 Grylls_117 阅读(4) 评论(0) 推荐(0) 编辑
SPFA
摘要:特点&用处 处理单源最短路问题 最坏时间复杂度0(nm) n为点数心为边数 算法思想 bellman-fold的升级版,每次更新,判断与之相邻的点是否可以被更新,若可以则更新。 代码实现 阅读全文
posted @ 2024-03-21 15:07 Grylls_117 阅读(6) 评论(0) 推荐(0) 编辑
Kruskal
摘要:特点&用处 最小生成树 复杂度0 (m log m)适用于稀疏图 算法思想 代码实现 阅读全文
posted @ 2024-03-21 15:07 Grylls_117 阅读(5) 评论(0) 推荐(0) 编辑
Prim
摘要:特点&用处 最小生成树 复杂间O(n^2)适用于稠密图 算法思想 代码实现 注:不与dijstra搞混 阅读全文
posted @ 2024-03-21 15:07 Grylls_117 阅读(6) 评论(0) 推荐(0) 编辑
2024-3-2 模拟赛总结
摘要:1. 用万能头时,注意变量名不与库函数重名(如x1,y1,x2,y2,time等) 本地测不出来!!!!! 2. 时间复杂度一定算清楚 阅读全文
posted @ 2024-03-21 15:05 Grylls_117 阅读(1) 评论(0) 推荐(0) 编辑
拓扑的妙用
摘要:拓扑的妙用 拓扑不仅可以用于求DAG的拓扑序,还可以判断是否有环。 用sum存储拓扑到点的个数,若sum小于实际点数,说明有环。 P1347 排序 成功排序即为有确定拓扑序 矛盾即为有环 code: 注:27行,sum++; 阅读全文
posted @ 2024-03-21 15:05 Grylls_117 阅读(4) 评论(0) 推荐(0) 编辑
2024-3-20 模拟赛总结
摘要:tip: 01串表示集合(bitset) T3 buy 60 pts: 枚举最大的bi, O(nlogn)按ai排序后选择前k-1个即可。 100 pts: 先按bi排序 用priority_queue存储前k个,从bi最小开始,扫一遍序列,每次O(log n)更新前k个。 T4 flight 大模 阅读全文
posted @ 2024-03-21 14:45 Grylls_117 阅读(5) 评论(0) 推荐(0) 编辑