• 类型、思路的一些总结


    一、类型
    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树剖:能做什么,不能做什么。

  • 相关阅读:
    Java自学-JDBC execute与executeUpdate的区别
    POI 操作Word, 向Word中写入文本,图片.
    C++ 设计模式 4:行为型模式
    C++ 设计模式 3:结构型模式
    C++ 设计模式 2:创建型模式
    C++ 设计模式 1:概述
    C++ 数据结构 4:排序
    C++ 数据结构 3:树和二叉树
    C++ 数据结构 2:栈和队列
    C++ 数据结构 1:线性表
  • 原文地址:https://www.cnblogs.com/seamtn/p/11338929.html
Copyright © 2020-2023  润新知