类型、思路的一些总结

一、类型
1、贪心与性质。
2、数据存储与共享:优化,计数类。
3、部分分数,小点骗分
4、转化题意。差分与前缀和的基础操作。差分使区间转化为单点。共享:前缀和。
5、降维:思考和实操
6、二分,三分:单峰谷证明
7、性质,中位,平衡点
8、式子转化。化简。消除绝对值/minmax影响。
9、读题
10、数学容斥,组合数
11、有效行动。如何枚举。如何共享。
12、复杂度分析,++与+=
13、ST表记录最值。序列,矩阵。
14、重复。去除大数:取模,二分,快速幂、矩阵,
15、规律、原理。
16、一对一关系:1、图论 2、并查集 3、二分图
17、去除冗余。哪些是真正有用的。
    (DP优化时经常用到(改变状态定义,从而去除无效的))。
18、正难则反。正向反向。

19、没有说明但实际隐含的特殊情况。

二、思路

1、不带修改树上倍增,带修改数据结构维护。(线段树)

2、式子转化。

3、计数题不重不漏。方向:DP或数学容斥。

  考虑容斥。考虑单点贡献。(lrd day1T3)

4、不是反演但类似反演的思想。根据已知推未知。把已知拆开。(lyd day2 T2)

5、求出整体后,当单点修改时,考虑单点的贡献,其他点收在一起,不必再求一遍。

 (lyd day2 T2)(类似动态DP)

 6、图->树:最小(大)生成树。讨论树边,非树边。

7、乱搞骗分。(80b->T1)

8:去除大数方法:  1、矩阵乘,转移形式相同。(1、推函数,如fibonacci,2、优化DP)

         2、取模思想。如:循环节。

         3、O(1)式子。打表。(当自变量较少时。)

           另:小数打表化为分数:1、手模 2、同乘某个数

杂:1、不要什么题都想二分。例如测试96T2是二分右端点(其实是倍增),而非二分答案。

   而测试95T2的二分是错的。正解是贪心。

   很多情况下没必要二分。想二分是否可以去掉。并非所有带有单调性的都是二分。也可以是贪心,倍增等。

  

  2、fr :测试109 T1:转化。压缩。预处理。(K条路压缩为二进制数)递推。继承。(2进制-lowbit递推)

  3、fr :换根lca树剖:能做什么,不能做什么。

原文地址:https://www.cnblogs.com/seamtn/p/11338929.html