合集-算法竞赛笔记
摘要:本合集是本人的算法竞赛笔记,用于赛时模板。 内容较多,公式较多,加载显示正常页面需要一段时间。 排版问题先咕着,未来有时间再慢慢改。 因为这是本人多年从初学到入门的笔记,所以内容风格会存在不同。 知识内容可能会有错误,欢迎在评论区指出。/kel
阅读全文
摘要:.数制的前缀 二进制:0b或0B。 八进制:0。注意代码中012的十进制数值是10。 十六进制:0x(字母小写)或0X(字母小写)。 .输入和输出 .1.scanf和printf 格式符 常见类型的格式符: 类型 格式符 int %d long long %lld short %hd unsigne
阅读全文
摘要:.标准库 注意 标准库函数返回数值的类型大部分是size_t(unsigned long),不能直接与负数运算! .1.标准模板库(STL)函数和算法模板 比较和比较类型less、greater和equal_to 比较必须满足严格弱序(《基础算法3.4.严格弱序》)。 在STL中,若比较函数cmp(
阅读全文
摘要:1.位运算 1.1.基础知识 一般只考虑自然数。 在k位二进制数中,通常称最低位为第0位,最高位为第k-1位。 1.1.1.算术位运算 与and,&:\((1010)_2 \operatorname{and} (0110)_2=(0010)_2\)。 或or,|:\((1010)_2 \operat
阅读全文
摘要:不要从数据结构维护信息的角度来思考问题,而是从问题本身思考需要哪些信息,数据结构只是维护信息的工具!!! 可减信息,如区间和、区间异或和 直接用前缀和实现,复杂度 O(n)+O(1)+O(n)。 可重复贡献信息,如区间最值 如果序列很长,使用线段树即可,复杂度 O(n)+O(logn)+O(n)。
阅读全文
摘要:1.深度优先搜索DFS (时间复杂度十分玄学,加了剪枝后,即使最坏复杂度是指数级别的,但往往跑得很快) 1.1.搜索模型 方向数组: const int dx[]={0,-1,0,1},dy[]={1,0,-1,0};//4个方向 for (int i=0;i<4;i++) { int a=x+dx
阅读全文
摘要:1.字符串的存储 1.1.字符数组和STLstring char s[N] strlen(s+i):\(O(n)\)。返回从 s[0+i] 开始直到 '\0' 的字符数。 strcmp(s1,s2):\(O(\min(n_1,n_2))\)。若 s1 字典序更小返回负值,两者一样返回 0,s1 字典
阅读全文
摘要:图论基础 1.图的建立 根据抽屉原理,具有至少两个顶点的简单无向图(简单图:不含有自环和重边的图)中一定存在度相同的结点。 握手定理(又称图论基本定理):对于任何无向图 G = (V,E),有 ∑d(v)=2|E|。 在任意无向图中,度数为奇数的点必然有偶数个。 对于任意有向图 G=(V,E),有
阅读全文
摘要:动态规划是把一类具有相同点的状态的一起处理,极大优化搜索。 dp复杂度一般\(≥O(状态数)\)。 1.基础知识 1.1.解题思路 先设计好朴素的dp方程,列出状态表示→从“最后一步”考虑状态转移,若不能转移,考虑从“最后一步”和题目关键元素或限制补充状态表示→再从状态、转移上考虑优化,或者对原来的
阅读全文
摘要:\(avg=\sum\limits_{i=1}^{n}(\dfrac{cnt_i}{cnt}*avg_i)\) \(s^2=\sum\limits_{i=1}^{n}(\dfrac{cnt_i}{cnt}*((avg_i-avg)^2+{s_i}^2))=\dfrac{\sum\limits_{i=
阅读全文
摘要:ans多取合法方案的max/min结果肯定不劣。 对于操作“change x y:把a[x]修改为y”,无论是提前continue掉还是循环末尾,一定要记得令a[x]=y!!! 模数MOD特殊一定要注意! 遇见小模数MOD,可能复杂度与MOD相关。 有可能当n的级别很大时,ans%MOD=0。 注意
阅读全文

浙公网安备 33010602011771号