摘要: ###链接 我好菜啊。。。 考虑每条边对答案的贡献为多少。 显然可以定义状态 \(f_{i,j}\) 表示 \(i\) 子树中有 \(j\) 个黑点,子树中每条边对答案贡献之和的最大值。 于是合并就是背包,方程为 \(f_{u,i+j}=f_{u,i}+f_{v,j}+((k-j)*j+((n-k) 阅读全文
posted @ 2020-11-10 16:14 (o-ωq)).oO 阅读(89) 评论(0) 推荐(0)
摘要: 1.93k,70行树状数组套权值线段树代码不来康康嘛~ #include<bits/stdc++.h> #define IL inline using namespace std; const int N=5e4+3,Maxn=1e8+1,inf=2147483647; int n,m,a[N],c 阅读全文
posted @ 2020-11-10 01:03 (o-ωq)).oO 阅读(78) 评论(0) 推荐(0)
摘要: 线段树分治是以时间点为下标,将修改以区间形式存储在线段树上,通过可撤销的数据结构进行单点查询(对于某些空间较小,难以实现撤销操作的数据结构如线性基可直接保存副本)。 模板:洛谷P5787 用按秩合并的带权并查集维护连通块中点之间边数的奇偶性来判断是否存在负环(用栈储存撤销操作,复杂度 \(O(nlo 阅读全文
posted @ 2020-11-10 00:53 (o-ωq)).oO 阅读(137) 评论(0) 推荐(0)