note

  1. freopen

  2. 数组大小,空间问题

  • FFT,NTT是开4倍空间。
  • 网络流,Trie 照着空间限制开
  • SAM开两倍
  • 线段树开4倍。
  1. long long 计数题,尤其注意开long long

  2. 多测清空

  3. 注意仔细审题。

  4. 多举反例,尤其是有一些求最优解的问题,不要刚想到一个贪心就认为是对的。

  5. 最大值最小,最小值最大是二分答案。

  6. wqs二分用于指定选k个物品。

  7. 正难则反。考虑反向思考。

  8. 根号分治,小的存下,大的暴力,(@BSGS)

  9. 不会的题,考虑贪心骗分,也可以随机化,有的题可以写好几个贪心取最优。

  10. 树上和路径有关的考虑点分治。

  11. 前缀gcd,前缀&,前缀|都是只有log 种。

  12. 计数题,考虑dp

  13. fib

    \(\large\sum_{i=1}^n f_i = f_{n+2} - f_2\)

    \(\large \sum_{i=1}^nf_i \times i = n\times f_{n+2}-f_{n+3} +2\)

  14. 2-SAT

  15. 基环树上dp,找到环,然后求出每个树的贡献,在环上合并。(@同桌的你)

  16. Hash不光能用于字符串,还能用于判断序列一段区间某些颜色出现次数是否相同。(@大水题)

  17. 随机化说:你随了就A了 (@佛罗里达)

  18. 编译命令-Wall,注意c++11是否开启。

  19. 函数返回值

  20. 注意C(n , k) 与 (n , k) ....QAQ

  21. 0 ,除0,

  22. 变量覆盖,线段树的k,矩乘的k

  23. srand(time(0));

  24. 快读,负数

  25. 期望的平方,平方的期望

  26. set的erase(val) 是删去所有的val,只弄一个是erase(it)

  27. 最大值,不能太大,也不能太小。

  28. for(int i = 1 ; i <= n ; ++i);  // 这个分号,,,,,, 
    
  29. 循环时,注意循环上界有没有变。

  30. 并查集。路径压缩,按秩合并。

  31. lst , tot = 1 , sam

  32. 主席树log倍,最好再开大点。

  33. 变量冲突 y1 ,time,tm,end,next,hash,index,ref,pipe,j0,j1,jn,y0,y1,yn,

posted @ 2020-06-16 19:10  沙野博士  阅读(254)  评论(0)    收藏  举报