"题目" 题目大意 给你一个树形的网络,每条边从父亲流向儿子。根节点为原点,叶子节点流向汇点,容量为无穷大。 可以给一些边扩大容量,最多总共扩大$m$容量。每条边的容量有上限。 求扩大容量后最大的最大流。 思考历程 隐隐约约地猜到正解跟树链剖分有什么关系,可是没有打,也没有时间打。 只能暴力DP来水 ...
分类:
其他好文 时间:
2019-08-09 21:36:32
阅读次数:
72
"Codeforces" 思路 感觉这个离线的思路好神仙啊qwq 对于每个询问$[l,r]$其实就是要求$p_{max}$,使得$lcs(s[1,p],s[1,r]) p l$,也就是$lcs(s[1,p],s[1,r])+l p$。 首先把询问离线按$r$排序,然后从右往左扫,每次 1. 处理之前 ...
分类:
其他好文 时间:
2019-08-08 00:33:22
阅读次数:
102
1583. [POJ 3237] 树的维护 ★★★★ 输入文件:maintaintree.in 输出文件:maintaintree.out 简单对比时间限制:5 s 内存限制:128 MB 【题目描述】 给你由N个结点组成的树。树的节点被编号为1到N,边被编号为1到N-1。每一条边有一个权值。然后你 ...
分类:
其他好文 时间:
2019-08-07 22:30:19
阅读次数:
112
1963. [HAOI 2015] 树上操作 ★★★☆ 输入文件:haoi2015_t2.in 输出文件:haoi2015_t2.out 简单对比时间限制:1 s 内存限制:256 MB 【题目描述】 有一棵点数为N的树,以点1为根,且树点有权值。然后有M个操作,分为三种: 操作1:把某个节点x的点 ...
分类:
其他好文 时间:
2019-08-07 22:10:24
阅读次数:
90
树上启发式合并,即$DSU\ on\ Tree$,是一个挺好用、挺实用的树上信息维护方法。 ...
分类:
其他好文 时间:
2019-08-07 19:16:14
阅读次数:
108
题意 对一个有1e5个点,点权初值为0的树上进行4种操作: 1、结点u到结点v上的所有点权乘x。 2、结点u到结点v上所有的点权加x。 3、结点u到结点v上所有的点权取非。 4、结点u到结点v路径上点权的和。 _答案模$2^{64}$_ 思路 对操作1、2树链剖分加线段树维护即可,对操作3,取非操作 ...
分类:
其他好文 时间:
2019-08-03 18:50:52
阅读次数:
91
这个有两种方法: 一、倍增 就是维护一个节点的第$2^0,\ 2^1,\ 2^2\ ...$层父亲,这样的话我们在后面查询的时候就可以直接“跳”着找。 第二行相当于将$dep(x) dep(y)$的值做 二进制拆分 。 跳到同一深度之后,如果两个节点已经跳到同一个位置,就直接退出。 否则,就要继续 ...
分类:
编程语言 时间:
2019-08-01 16:01:55
阅读次数:
101
```cpp #include #define lson(x) (x p) t[x].sum %= p; return; } int mid = (ll + rr) >> 1; build(lson(x),ll,mid); build(rson(x),mid + 1,rr); push_up(x);... ...
分类:
其他好文 时间:
2019-07-27 21:00:44
阅读次数:
108
如果是学习的话,可以看一下这篇博客 LCT有一点类似于树链剖分,只不过是实链和虚链,然后可以不断变化。每一条实链用一个splay(深度为关键字)维护,splay还原出来就应该是一条由浅到深的链。 Splay的根的father是原树中链顶的父节点。特别的,原树根所在的Splay根节点的father为空 ...
分类:
其他好文 时间:
2019-07-25 19:10:56
阅读次数:
116
树链剖分 #include <algorithm>#include <cstdio>#include <vector>usingnamespacestd; constint maxn = 100000 + 10; int n,m,r,p,dis[maxn],dep[maxn],father[maxn ...
分类:
其他好文 时间:
2019-07-24 12:58:19
阅读次数:
89