zoukankan      html  css  js  c++  java
  • 思维路径

    更新到:Educational Codeforces Round 10 题解


    树上问题

    与某一点的子树有关的,思考树形 dp,dsu on tree
    如果是某个点与所有点有关,对所有点求答案,就考虑换根 dp。能换根的前提是 dp 方程可以轻松地修改(取 / 不取某一个子树)(1 2

    与某两个点有关的,考虑取 LCA,或者路径上一些特殊点(比如路径中点,树的重心)(1

    树上前缀和、树上差分?(1

    各种树的性质?树上各种点的性质?(1直径 2还是直径

    图论如果涉及到环或者强连通分量,考虑 tarjan 缩点;或者如果一堆特征相似的东西可以合并考虑,也考虑缩点思想(1 2 3

    必经点:割点;必经边:割边(1

    特征点最短路,图中有多个特殊的点,到达某点可以获得加成(1

    图论模型!!!
    一切涉及到状态转换的题目,要求满足传递性
    执行操作?如果操作的几个参数具有传递性,执行一种操作等价于执行另一连串操作(类似于两个点之间有多条路径)(1
    满足传递性的点在一个联通块内(2
    一次操作是从一个状态转移到另一个状态(3

    括号序列转换为 +1 和 -1 或者是 1 和 0,差分思想(1转化为+1-1的折线图思想,虽然不是括号序列 2维护左括号减右括号的数量 3维护左括号减右括号的数量

    括号序列也可以区间 DP 做

    事件思想,一条线段的左端点看成 +1 事件,右端点看成 -1 事件(1

    无法直接计算的题目转化为算贡献,使用数组或者哈希表记录可能产生贡献的元素(1 2 3 4 这个实在太多了以后就不整理了)

    前缀和式子导出的区间相等 (a_{r_1} - a_{l_1 - 1} = a_{r_2} - a_{l_2 - 1}) 往往有奇妙的性质,尝试移项?(1

    动态研究添删一个物品,考虑添删这个物品的过程和影响(1
    拓展:从一个合法状态“扩张”到另一个合法状态(2
    拓展:单调栈、单调队列解决问题(3

    类似于树状数组求逆序对的思想,边插入边求值(1 2 3 4

    位运算独立考虑每一位(1 2 3 4 5

    逐位运算,求最值(类似异或),从高位往低位贪心(1

    Mex 可以用权值数据结构二分做(1

    题目可以转化成 DAG 上跑 DP(1 2
    缩点后 DAG 上跑 DP(3

    DP 消掉后效性:最短路转移(SPFA Dij),排序(1虽然这个不是DP,但是利用了排序消除后效性的思想 2排序消除背包物品的后效性

    DP 的值可以加入当前状态,也可以不加(1

    如果题目有两个自相矛盾的限制,其中一个要优先满足,考虑两次 DP(无后效性的特点)(1

    先用一个 DP 预处理,再用一个 DP 求答案,也是两次 DP(1

    构造方案题!!!
    考虑 DP 转移:设 bool f[][][] 表示当前状态是否有解(如果要求最优则定义最优子结构),g[][][] 表示当前状态从哪里转移过来的(1 2但是这个并不需要输出方案 3bitset优化背包

    涉及到整除 2 的((lfloorfrac{n}{2} floor)),路径中点可能不存在的,考虑按奇偶性分类讨论(1

    补集转换!!!
    子树外有 (k) 个转换成子树内有 (tot - k) 个(1

    一维序列上对连续一段操作用差分转换为单点问题(1

    二分答案!!!
    到底有没有单调性?(1 2

    小于某个数设成 0,大于某个数设成 1(1《HEOI/TJOI排序》 2中位数金字塔,经典题了 3

    二维平面中维护特殊线段(垂直 x 轴,垂直 y 轴,对角线)的区间和:树状数组(1 2

    遇事不要慌,先想想是不是假题
    暴力构造的复杂度?(1

    会做 (k) 但不会做 (k + 1)?有一维不会处理?枚举它!(1 2 3 4
    高端算法不会做,先想想好做的(5

    两维的独立问题? 放到平面坐标系上试试!(1

    区间问题:前缀的后缀 / 后缀的前缀(1 2KMP 3

    修改一个数,求最长区间?双指针维护往左往右(1
    预处理出往左走、往右走最远的符合条件的位置(2 2

    支持离线,查询区间,可以快速添删区间左右端点的元素:莫队(1 2 3

    支持快速添删一个元素,查询最值,查询相邻元素,使用 std::setstd::multiset1 2 3

    连续跳有点慢?考虑倍增(1

  • 相关阅读:
    二维数组实现八皇后问题
    解决Java接口内部类的main()方法无法打印输出的问题
    hbase shell 常见命令
    hbase-0.94 Java API
    JavaMail简单版实验测试
    经典KMP算法C++与Java实现代码
    Hadoop之倒排索引
    哈希哈希
    Servlet和JSP学习指导与实践(三):JSP助阵
    Servlet和JSP学习指导与实践(二):Session追踪
  • 原文地址:https://www.cnblogs.com/handwer/p/15419280.html
Copyright © 2011-2022 走看看