摘要:
Splay序列操作的大模板题 这个真的是噩梦。。调了整整一个晚上,可以说完全被榨干了orz。。 因为我的splay写的实在是太丑了,手动加的哨兵节点,开头忘记pushup了,找了一晚上才找到。。。 还有就是0节点的mx也要设置成 INF,否则会影响我门原树叶子结点的mx。。其他的就靠造化了。。 还要 阅读全文
摘要:
LCT 刚学LCT,对LCT的性质不太熟练,还需要多多练习。。 对每一个点,将其与它能够到达的点连一条虚边。弹出去的话就用n+1这个节点表示。 第一种操作我们需要从LCT的性质入手,问的问题其实就是x通过多少条边可以到达n+1这个点。。那么我们可以把他们两拉成一条链(也就是split(n + 1, 阅读全文
摘要:
splay的板子。。 由于被LCT榨干了。。所以昨天去学了数组版的splay,现在整理一下板子。。 以BZOJ3224和3223为例题。。暂时只有这些,序列的话等有时间把维修序列给弄上来!! BZOJ 3224 平衡树的操作 阅读全文
摘要:
Link Cut Tree 刚开始写了个指针版。。调了一天然后放弃了。。 最后还是学了黄学长的板子!! include define INF 0x3f3f3f3f define full(a, b) memset(a, b, sizeof a) using namespace std; typede 阅读全文
摘要:
拆点+网络流 拆点建图应该是很常见的套路了。。一张无向图不联通,那么肯定有两个点不联通,但是我们不知道这两个点是什么。 所以我们枚举所有点,并把每个点拆成入点和出点,每次把枚举的两个点的入点作为s和t(这样方便,当然也可以把第一个点的出点当成s,第二个点的入点当成t,但其实我们把s和t的入点和出点之 阅读全文
摘要:
2 SAT问题 这是一道2 SAT的模板题。对于2 SAT问题的每一个条件,我们需要把他们转化成可接受的条件。即"若变量A的赋值为x,则变量B的赋值为y",其中x,y均等于0或1。 对于每个条件我们连一条有向边,下面对于本题给出的或举例。 假如题目的限制条件为 X=1 or Y = 1 为真 那么对 阅读全文
摘要:
对偶图 这是一道非常玄学的题目。。 有两种方法。。因为题面特别裸,一看就是最小割,再一看数据,心凉了一半,不过我也去试了下// dinic是可以在洛谷上不开O2过的,但是在BZOJ上过不了。。然后我去学了下对偶图的概念。 平面图有一个性质: 最平面图大流=最小割=对应的对偶图的最短路径。 然后就开始 阅读全文
摘要:
费用流 又是一道网络流的模型,对于这种费用与经过次数有关的边,我们经常把边拆成多条,比如这个题,第一次费用是x,第二次是0,我们就可以先把点拆成入点和出点,入点和出点又连两条边,第一条容量为1,费用为x;第二天容量为k 1,费用为0,意思很明确,第一次的流量可以得到费用,其他的流量都得不到费用。 原 阅读全文
摘要:
有向无环图的最小路径点覆盖 最小路径覆盖就是给定一张DAG,要求用尽量少的不相交的简单路径,覆盖有向无环图的所有顶点。 有定理:顶点数 路径数=被覆盖的边数。 要理解的话可以从两个方向: 假设DAG已经被n条路径覆盖,那么任意一条路径又有 顶点数 1=边数。那么对所有路径等式两边求和,每条路径的顶点 阅读全文
摘要:
tarjan缩点 由题意可以发现,其实最受欢迎的牛就是找出所有强联通分量,缩点之后,所有新点里出度为0的那个强联通分量里的所有点。。。 而且这中强联通分量只能有一个,假设大于1个的话,就会有两块不联通的区域,那就无法被所有牛喜欢。。 所以直接缩点计算一下出度就行啦 include define IN 阅读全文