集训总结的小tricks

  1. 看到不是人做的限制、方格图某些奇怪的限制、优先考虑网络流。
  2. 网络流经典套路:拆点(对点的流量有限制等)、黑白染色等。( 3447 摘取作物、3364 Snake )
  3. 看到 \([\gcd=1]\) 想莫反,看到 \(\gcd\) 的值的贡献,想到用欧拉反演。( 4496 互补约数 )
  4. 数颜色问题,优先莫队。树上莫队就是拆成序列欧拉序上的贡献,注意lca的特判 ( 3360 苹果树 )
  5. 实在想不出的题可以考虑分块打表 ( 3362 数数 )
  6. 方格图计数,\(n,m\) 一个很大一个很小的时候考虑矩阵快速幂/倍增优化dp。( 3373 Line )
  7. 没有思路的题,考虑二分答案判断可行性。(太多了不举例子了)
  8. 大力猜结论,勇敢打暴力 ( 3293 阶乘字符串 )
  9. 学习通用记号 ( 6108 骗分过样例 )
  10. 不要被麻烦的限制吓到,考虑化掉一些限制或者发现某些限制是吓唬人的 (3312 摩托车交易)
  11. 无根树同构问题,找到重心,单重心时以此为根,双重心时新建点,连接这两个点并且删除原重心之间对应连边,以此为根,从而转化成有根树同构问题。 ( 3296 刺客信条 )
  12. 期望问题,可以勇敢推一下式子。 ( 6640 lowbit )
  13. Burnside引理:

\[\text{本质不同方案数}=\frac{\sum\text{每个置换的不动点数}}{\text{本质不同置换数}} \]

( 3298 项链 )
14. 递归的时候,考虑下层递归会不会影响此层的数组里面存的东西。
15. FFT/NTT 的时候要注意,如果求 \(m\) 次多项式的 \(k\) 次幂,要把空间开到 \(mk\)
16.

posted @ 2021-11-01 21:40  Martin_MHT  阅读(12)  评论(0)    收藏  举报