颓废用
基础算法
wqs 二分(或者二分)记得注意边界,比赛的时候可以写写暴力对拍看看边界出没出问题。
可以考虑随机化?
图论
tarjan 双连通分量一定看看自己 else low[u] = min(low[u], dfn[v]);
写哪了,要不然就先不写里面的建图,先把这句写上。
多测一定记得 idx = 0;
!!!
数学
记得模!!!
记得取模!最好拿大数据测一下,没正确答案也没问题,看会不会出负数或者 0!
看清模数!!!看好是 还是 !!!
等价类计数可以选代表元,可能还会有群,但是群用的少。更多的还是选有特殊性质的一个代表元。
可以尝试拆贡献,或者把最终答案的求和号交换一下。
数据结构
动态开点线段树记得分清楚 l, L, r, R
。
DP
如果题实在想不出来可以往 DP 这方面想想
在写之前先想想怎么初始化以及怎么统计答案,别做无用功。
要求路径不重复经过某个点(或者是排列)的时候可以想想形成连通块的思路。
其他
不要颓废
注意开 ll!!!
多测记得清空!
看清题!如果要输出操作次数一定别忘了输出!
别死磕一道题正解,就算正解就在脑子边也要稍微抽时间把特殊性质的分先拿了。
可以打表找找规律(?),说不定有用。
公式看清楚。
考试最后十分钟检查是否 CE,就算懒得在 Linux 下编译也得在 dev 里面编译一遍!
- 感觉不可做的,有较高多项式复杂度暴力的题,思考:分治、贪心、dp、线段树。
- 感觉不可做的,只有指数级复杂度暴力的最优化题,思考:贪心、dp、流和割、暴搜加优化。
- 感觉不可做的,只有指数级暴力的数数题,思考:dp、行列式、暴搜加优化、拉格朗日插值、容斥、造自动机。