总结

· · 个人记录

前言

  1. 异或的一些性质:

    \sharp $. $a \oplus a \oplus b = b $\sharp $. 异或和加:最高位 $a\rightarrow k1$ $b\rightarrow k2 ---
  2. 分析复杂度:

    $\sharp $. ---
  3. 不要忘了分块可以做很多事情.

  4. 1 相当于改变一个数的奇偶性.

  5. 对于有两种限制的计数题,一个套路是先确定其中一个限制,在此之上进行下一步计算 (0矩阵个数)

  6. 一个数的因子种类数可以接受指数级的计算 ,可以往状压DP想(跳格子)

  7. 反向枚举是一种很常见的trick

  8. 关于挂分.

    最近 \mathcal{MoonPie} 挂分现象十分严重,需要引起重视!

    $\sharp$. 看题!看题目中奇怪的要求. 不然就像 [模拟赛33 T1](https://dev.xjoi.net/contest/1609) $80\rightarrow 0$ . $\sharp $. 遇到做过的题目不要得意忘形,还是要十分仔细. 不然就像 [模拟赛28 T2](https://dev.xjoi.net/contest/1602/problem/2) $100 \rightarrow 0$ . $\sharp $. 对拍!数据不要出锅. $\sharp$. 交错代码?! $\sharp$. 数组开小?!记的开两倍. $\sharp$. $m,n$ 不分,导致代码调不出来?![模拟35 T3](https://dev.xjoi.net/contest/1613/problem/3) $100\rightarrow 0$ .
  9. \mathcal{dijkstra}$ 时,如果边数很大,点数很小,可以考虑不进行 **堆优化** 有可能有 $O(n^3)\rightarrow O(n^2)
  10. 按照值分类.

  11. 什么时候用 kruskal 重构树?

  12. 消除贡献!CF1000G

  13. ideas

  14. 看题、看懂样例,分析清楚题意后在开始敲

  15. 分析清楚细节后再开始写

  16. 要分析清楚细节,一是思考再三,二是手模样例