tricks
- 所有问题优先考虑能不能转化为判定型问题,因为 NP 比 P 好做。
例子:
- 如果正推不好推,那么可以考虑将问题换个顺序考虑。常见的:若正推出现了自我递归嵌套或 DP 出现后效性,可以考虑倒推。
例子:
- 不定顺序的计数 DP 一般都是按照一定顺序依次插入每个数,这个顺序一般根据题目需求定。
例子:
-
当比较技巧性的东西没法使用时,优化暴力可能反而是更好的做法。
-
如果要求构造数列,切每个数出现次数尽可能小,且相邻两项的一些关系不同,可以尝试转化为图上跑欧拉路径问题。
例子:
- 前缀(后缀)限制加连通性判断,可以使用 kruskal 重构树。
例子:

浙公网安备 33010602011771号