那些教训
2020 csp-s:我大意了啊,不等号忘记取等,没得分,啊!
2021 1.23:strlen时间复杂度
2021 1.27:多测不清空,爆零两行泪
2021.1.31:使用线段树前要想好——哪个点在前,那个点在后......(树剖感想)
2021.2.3:Dinic算法一定要练好,不然建完模还是错.......(网络流感想)
2021.2.5:第一次打CF,明白了两条道理:1.翻译不可靠;2.不要依赖于热点
2021.2.17:雷同代码复制千万小心,哪一个不同忘记改了就再也调不出来了(平衡树感想)
2021.2.19:AC P3369,错因:求前驱后继没有判断所求节点等于当前节点(儒 略 日)
2021.3.16:输出有延迟,多半是数组开太大了awa
2021.6.28:中考前不要刷题二分时初始值以题目给定为准比较稳,范围太大有什么迷之错误。
2021.7.17:对于最短路、最长路要具体问题具体分析。
2021.7.18:有些预处理是需要输入的,都在输入前面做肯定不妥(LCA感想)。
2021.7.22:调试信息要在continue前打——顺序结构。
2021.8.2:数组不清空,就要全覆盖。
2021.8.3:众所周知,运算有优先级!
2021.11.7:min函数不会自动强制转换哦!
2021.11.8:当你预处理的时候,其实用到了模数,所以不同模数不可以一起预处理。(古代猪文)
2021.11.8:memset其实是很慢的,桶可以直接覆盖不清空。
2021.11.9:众所周知,组合数预处理时0很容易漏掉
2021.11.10:先乘后除见祖宗
2021.11.15:斜率优化时先除后乘见祖宗。不等号记得取等
2021.11.16:++操作顺序玄学我记不住,别瞎用
2021.11.17:对偶图是无向图……
2021.11.17:绝对不能把全局变量定义在main内!
2021.12.25:DP预处理绝对要有必要性证明
2022.1.8:动态开点线段树的值域是一定的,更改便没有意义了。
2022.1.14:分块的数组要开大,因为最右边补了最多
2022.1.20:强制转换一般不会出问题,但绝不要转换浮点数。
2022.1.21:转换成double类型也可以防止炸int。
2022.1.25:对于线段树,我们希望
2022.1.28:
2022.2.16:点分治各个答案互相独立,故而最重要的是清空!
2022.2.17:long double的输出需要printf("%lld\n",(long long)(x+0.5))之类的强转
2022.5.19:运用数组映射时需要保证下标为正,不然要右移下标。
2022.7.11:分解质因数最后那个大于
2022.7.12:用二项式定理展开高次式时,把负的那项作为
2022.7.25:Splay这样改变结构很大的操作前,要先保存需要的答案
2022.8.9:步数等有终点的期望中,期望和概率DP的状态都是受能转移到的状态影响,需要逆向转移
2022.8.9:没有终点的期望中,需要正向转移期望时需储存每个状态的概率
2022.10.12:阶梯博弈的一个必要条件条件是奇数不能转移到奇数。
2022.10.20:使用 long double 实现的龟速乘不能完美实现长整型相乘。。。还是用 __int128 罢
2022.11.4:按我的傻逼方式写的离散化需要初始化第0位awa
2022.11.18:线段树的左右边界是 int 呢。。。
2022.12.8:翻转数列之后用同样的方法求笛卡尔树形态会变化,因为有相同的最大值。
2022.12.8:存点值,插系数法的一个适用条件是次数表示一个有限的量,且必须将这有限次都插出来。
2022.12.22:线性筛不要写成限行筛。。。
2023.1.5:伯努利数求自然数幂和,把
2023.2.3:线段树和并只有当没有交集时不用记录
2023.2.3:需要更新前缀和等的线段树和并,需要先把值存下来。。。不然也可以新开点,空间常数会很大。
2023.2.13:int 返回值的函数如果没有返回值或者当 void 使用有可能会RE(甚至也有可能不会),总之别这么干
2023.2.16:数组越界很小(比如访问-1啥的)会访问到合法值,所以写类似的DP或者倍增的时候要额外注意
2023.2.22:树堆不能 build ,很简单的道理,随机权值性质不能保证了,但是似乎并不经常被卡?
2023.4.3:线段树合并分两种,点不交的和点交的,后者一定不能不判断叶子,省选挂到不如暴力。。。
2023.4.11:省选D2T2 MLE挂24分只能说拼暴力还是要注意静态空间总和
2024.1.21:带回溯并且带剪枝的搜索,需要回溯的操作需要在剪枝之后,不然退出回溯不了了