2024年3月21日
摘要: 1.Bad Hair Day S 手写单调栈 一种数据结构,以栈(stack)为基础,但要保持栈的单调有序,每次压入时,把比要压入数据小的弹出(while循环判断注意empty)。 如图: 要压入7 先弹出5,3 在压入7. |....|...|....|...|....| |3..|->|.... 阅读全文
posted @ 2024-03-21 15:19 Grylls_117 阅读(23) 评论(0) 推荐(0)
摘要: 1.营业额统计 以后做题要记住, 一定先认真读题!!! 看了一眼题,以为是set,兴冲冲写完了一看,听取WA声一片,再仔细一看题,题目没说没有重复数据,但set不允许有重复。于是 multiset (允许重复数据的set) 省了我1个小时。 总结: 一定先认真读题!!! 一定先认真读题!!! 一定先 阅读全文
posted @ 2024-03-21 15:15 Grylls_117 阅读(17) 评论(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 阅读(32) 评论(0) 推荐(0)
摘要: 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 阅读(23) 评论(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 阅读(185) 评论(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 阅读(33) 评论(0) 推荐(0)
摘要: 状态:问题当前所处的局面 转移:状态之间的关系 阶段:计算状态的顺序 一维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 阅读(33) 评论(0) 推荐(0)
摘要: 数论 1.质数分布 [n,2n] 中必有一个以上质数。 2.gcd 阅读全文
posted @ 2024-03-21 15:11 Grylls_117 阅读(27) 评论(0) 推荐(0)
摘要: 特点&用处 处理多源最短路问题 复杂度0(n^3) 算法思想 代码实现 阅读全文
posted @ 2024-03-21 15:07 Grylls_117 阅读(12) 评论(0) 推荐(0)
摘要: 特点&用处 处理单源最短路问题 最坏时间复杂度0(nm) n为点数心为边数 算法思想 bellman-fold的升级版,每次更新,判断与之相邻的点是否可以被更新,若可以则更新。 代码实现 阅读全文
posted @ 2024-03-21 15:07 Grylls_117 阅读(22) 评论(0) 推荐(0)