随笔分类 - 动态规划 - 动态dp
摘要:神仙 DP. 可以求解 $1$ 号点的答案 $val(1)=w$. 假设所选的 $S$ 集合包含 $w$,那么答案一定为 $1$. 令叶子节点个数为 $m$,则有 $2^{m-1}$ 个集合的答案为 $1$. 假设当前修改代价为 $i$,想让根节点的答案改变. 最优改变方式有两种:1.将小于 $w$
阅读全文
摘要:自己 yy 了一个动态 dp 做法,应该是全网唯一用 LCT 写的. code: #include <bits/stdc++.h> #define ll long long #define lson tr[x].ch[0] #define rson tr[x].ch[1] #define setIO
阅读全文
摘要:Code: #include <bits/stdc++.h> #define N 50001 #define ll long long #define lson now<<1 #define rson now<<1|1 #define inf 1000000000 #define setIO(s)
阅读全文
摘要:把之前写的版本改了一下,这个版本的更好理解一些. 特地在一个链的最底端特判了一下. code: #include <bits/stdc++.h> #define N 200005 #define ll long long #define inf 10000000005 #define lson p[
阅读全文
摘要:方法二:LCT+矩阵乘法 上文中,我们用线段树来维护重链上的各种矩阵转移. 第二种方法是将树链剖分替换为动态树. 我们知道,矩阵乘法 $\begin{bmatrix} F_{u,0} & F_{u,0}\\ F_{u,1} & -\infty \end{bmatrix}\times\begin{bm
阅读全文
摘要:题目描述 给定一棵n个点的树,点带点权。 有m次操作,每次操作给定x,y,表示修改点x的权值为y。 你需要在每次操作之后求出这棵树的最大权独立集的权值大小。 输入输出格式 输入格式: 第一行,n,m分别代表点数和操作数。 第二行,V1,V2,...,Vn,代表n个点的权值。 接下来n−1行,x,y,
阅读全文

浙公网安备 33010602011771号