算法竞赛进阶指南
dy小坚果
这个作者很懒,什么都没留下…
展开
-
算法竞赛进阶指南——基本算法(倍增)
可以求区间最大、最小、gcd、lcm,符合 f(a, a) = a都可以求区间最值,一个区间划分成两段f[i][j]: 从i开始,长度为2^j的区间最值。原创 2024-02-11 16:08:14 · 386 阅读 · 0 评论 -
算法竞赛进阶指南——搜索
【代码】算法竞赛进阶指南——搜索。原创 2024-02-10 19:47:39 · 228 阅读 · 0 评论 -
算法竞赛进阶指南——基本算法练习1
4;++forint0;4;++if>>原创 2024-02-07 23:02:39 · 219 阅读 · 0 评论 -
算法竞赛进阶指南——基本算法(贪心)
低买高卖。原创 2024-02-07 18:58:35 · 307 阅读 · 0 评论 -
算法竞赛进阶指南——基本算法(排序)
1.先把所有语言存储到稀疏数组里2.稀疏数组排序去重成稠密数组3.在稠密数组中找每种语言有多少个科学家懂4.在人数数组中找最多懂语音的5.如果懂语音的人数相同,就找懂字幕更多的。原创 2024-02-04 19:37:01 · 542 阅读 · 0 评论 -
算法竞赛进阶指南——基本算法(二分)
每个数先减去平均值,然后转化成是否存在长度不小于 f 的非零子段。原创 2024-02-02 18:10:09 · 387 阅读 · 0 评论 -
算法竞赛进阶指南——基本算法(前缀和与差分)
一维前缀和:S[i] = a[1] + a[2] + … a[i]a[l] + … + a[r] = S[r] - S[l - 1]二维前缀和:S[i, j] = 第i行j列格子左上部分所有元素的和s[i][j] += s[i - 1][j] + s[i][j - 1] - s[i - 1][j - 1]以(x1, y1)为左上角,(x2, y2)为右下角的子矩阵的和为:S[x2, y2] - S[x1 - 1, y2] - S[x2, y1 - 1] + S[x1 - 1, y1 - 1]一维原创 2024-02-02 01:40:26 · 462 阅读 · 0 评论 -
算法竞赛进阶指南——基本算法(递推与递归)
枚举每个位置选还是不选。原创 2024-02-01 18:28:24 · 1166 阅读 · 0 评论 -
算法竞赛进阶指南——基本算法(位运算)
把 b写成二进制形式,然后如果某位上为1就加上它a *(2^n)次方(n与这位的位置有关)如果直接计算a乘b这会超过 long long 的最大范围,所以采用类似于快速幂的思想。枚举每一种路线,用二进制表示,例如1101,就是经过了0、2、3。二进制的每一位都是独立的,逐位判断该取0还是1。并且每次计算后取模就可以了。例:计算 3 * 7。7 的二进制 111。原创 2024-01-29 23:36:10 · 249 阅读 · 0 评论