对知识的一些理解<持续更新中>
来源:互联网 发布:星际争霸1数据修改 编辑:程序博客网 时间:2024/05/21 09:19
最近集训一直在学习一些新知识,却又都没有讲这些东西理解到位。
最近看到了 pkl 对网络流的理解,发现自己缺乏的是对一些知识自己透彻的理解,所以以后会把自己对知识的理解放到这里吧。
这也应该是我之后一直应该做的一点!QwQ
最大流
最大流的正确性依赖于每一条
S - T
流都一一对应着一个方案- 每一个层次对应一个约束
- 每一个分支对应着一种选择
- 考虑用网络流去分配某一种东西并完美地使所有不满流的情况包含所有实际问题中不合法的情况
- 对于建图的时候要注意相关联的限制们一定要在一条完整的路径上
不要全都从S
点出来或者分开从某个点出来,一定要通过某种方式连起来
为什么要拆点呢?
拆点是为了让他强制经过某一个层次(被约束着不让它出现不合法例如直接流到T
这种情况
–
点分治与树剖的区别
一个是点分治,一个是链分治。
点分治分两种:一种用点分治统计信息;另一种用点分治维护信息。
树剖一般与点分治的第二种功能功能类似。
点分治是以子树为单位维护的,子树还包括其他子树,通过枚举子树维护信息;树剖是以链为单位维护的,链直接包含点,链之间不相交,链是线性结构所以通过线段树维护信息。
–
动态点分治
动态点分治的动态体现在哪里呢?就是增加点权修改等修改操作,让我们强制在线。
既然增加了修改操作,因为点分治是以子树为单位的,我们并不关心他真正的父亲到底是谁,我们就可以由原树重构一颗点分树,也就是把这棵树的重心作为根节点,然后子树为他的子树的重心这样递归下去,每个节点存的是其子树的信息。
最后分治树中包了全部节点。
这一类题目通常让我们统计花费一类的,可以参见 【ZJOI 2015 幻想乡战略游戏】【动态点分治】 里是如何统计的,十分套路。
阅读全文
0 0
- 对知识的一些理解<持续更新中>
- C的一些知识【持续更新】
- C++的一些常用知识(持续更新)
- excel的一些小知识,持续更新
- 持续更新--对Fedora21的一些总结
- iOS 开发过程中记录的一些小知识(持续更新...)
- 一些平时用到的技术小知识(持续更新)
- C#的一些小知识备记(持续更新)
- OC一些基本东西的理解(持续更新)
- ESP8266一些小知识(持续更新。。。)
- DB2中一些简单的查询(持续更新中...)
- Android的EidtText的一些研究,持续更新中!!!!!
- 回调函数的通俗理解(持续更新中)
- 一些不错的技术网站,持续更新中。。。
- 收集的一些编程网站——持续更新中......
- vs编译的一些技巧(持续更新中)
- 关于asterisk enum的一些资料(持续更新中)
- 关于asterisk enum的一些资料(持续更新中
- selenium之 玩转鼠标键盘操作(ActionChains)
- 北京云栖大会workshop:《数据处理:数据建模与加工》篇
- AttributeError: 'module' object has no attribute 'showinfo'(已解决)
- 如何查看Android设备的CPU架构信息
- 在HBuiler+MUI中如何防止用户一直返回
- 对知识的一些理解<持续更新中>
- vim vimdiff diff 使用及命令
- 共同学习Java源代码-多线程与并发-Executor、ExecutorService接口
- Java基础之 反射
- ViewPager控件详解
- python一行写不下的问题
- Flink架构、原理与部署测试
- 使用openssl库进行DES加密
- googlezxing二维码生成jar文件