对知识的一些理解<持续更新中>

来源:互联网 发布:星际争霸1数据修改 编辑:程序博客网 时间:2024/05/21 09:19

最近集训一直在学习一些新知识,却又都没有讲这些东西理解到位。
最近看到了 pkl 对网络流的理解,发现自己缺乏的是对一些知识自己透彻的理解,所以以后会把自己对知识的理解放到这里吧。
这也应该是我之后一直应该做的一点!QwQ


最大流

  • 最大流的正确性依赖于每一条 S - T 流都一一对应着一个方案

    • 每一个层次对应一个约束
    • 每一个分支对应着一种选择
    • 考虑用网络流去分配某一种东西并完美地使所有不满流的情况包含所有实际问题中不合法的情况
    • 对于建图的时候要注意相关联的限制们一定要在一条完整的路径上
      不要全都从 S 点出来或者分开从某个点出来,一定要通过某种方式连起来

    为什么要拆点呢?
    拆点是为了让他强制经过某一个层次(被约束着不让它出现不合法例如直接流到 T 这种情况

点分治与树剖的区别

一个是点分治,一个是链分治。

点分治分两种:一种用点分治统计信息;另一种用点分治维护信息。
树剖一般与点分治的第二种功能功能类似。

点分治是以子树为单位维护的,子树还包括其他子树,通过枚举子树维护信息;树剖是以链为单位维护的,链直接包含点,链之间不相交,链是线性结构所以通过线段树维护信息。

动态点分治

动态点分治的动态体现在哪里呢?就是增加点权修改等修改操作,让我们强制在线。
既然增加了修改操作,因为点分治是以子树为单位的,我们并不关心他真正的父亲到底是谁,我们就可以由原树重构一颗点分树,也就是把这棵树的重心作为根节点,然后子树为他的子树的重心这样递归下去,每个节点存的是其子树的信息。
最后分治树中包了全部节点。

这一类题目通常让我们统计花费一类的,可以参见 【ZJOI 2015 幻想乡战略游戏】【动态点分治】 里是如何统计的,十分套路。

阅读全文
0 0
原创粉丝点击