少女祈祷中...

颓废用

基础算法

wqs 二分(或者二分)记得注意边界,比赛的时候可以写写暴力对拍看看边界出没出问题。

可以考虑随机化?

图论

tarjan 双连通分量一定看看自己 else low[u] = min(low[u], dfn[v]); 写哪了,要不然就先不写里面的建图,先把这句写上。

多测一定记得 idx = 0;!!!

数学

记得模!!!

记得取模!最好拿大数据测一下,没正确答案也没问题,看会不会出负数或者 0!

看清模数!!!看好是 998244353998244353 还是 998244853998244{\color{red}8}53!!!

等价类计数可以选代表元,可能还会有群,但是群用的少。更多的还是选有特殊性质的一个代表元。

可以尝试拆贡献,或者把最终答案的求和号交换一下。

数据结构

动态开点线段树记得分清楚 l, L, r, R

DP

如果题实在想不出来可以往 DP 这方面想想

在写之前先想想怎么初始化以及怎么统计答案,别做无用功。

要求路径不重复经过某个点(或者是排列)的时候可以想想形成连通块的思路。

其他

不要颓废

注意开 ll!!!

多测记得清空!

看清题!如果要输出操作次数一定别忘了输出!

别死磕一道题正解,就算正解就在脑子边也要稍微抽时间把特殊性质的分先拿了。

可以打表找找规律(?),说不定有用。

公式看清楚。

考试最后十分钟检查是否 CE,就算懒得在 Linux 下编译也得在 dev 里面编译一遍!

  • 感觉不可做的,有较高多项式复杂度暴力的题,思考:分治、贪心、dp、线段树。
  • 感觉不可做的,只有指数级复杂度暴力的最优化题,思考:贪心、dp、流和割、暴搜加优化。
  • 感觉不可做的,只有指数级暴力的数数题,思考:dp、行列式、暴搜加优化、拉格朗日插值、容斥、造自动机。