"CF1303G" (点分治+李超线段树) 题目大意 给你一棵 n 个点的带点权的树,你需要求出树上的一个路径 $x_1,x_2,\ldots,x_k,最大化 \sum_{i=1}^kia_{x_i}$,求最大权值。 数据范围 $2\le n\le 150000$ 一条最大的路径并不好考虑如何直接求 ...
分类:
其他好文 时间:
2020-02-28 20:46:49
阅读次数:
69
一般解决方法 根->儿子,再由儿子->根,推出根的值 基本模型: 没有上司的舞会 任意两个一起跳舞的职员层次至少相差2(关系可以看成一棵树,相邻之间不能选择即该节点的父亲和儿子,根节点没有父亲) 一般解法:用f(x)表示x子树进行了决策之后x被选择,能获得的最大权值和,g(x)表示x子树进行了决策之 ...
分类:
其他好文 时间:
2020-02-26 14:13:48
阅读次数:
66
分析最优策略的性质,状压DP,记录结果避免重复计算优化复杂度 ...
分类:
其他好文 时间:
2020-02-17 16:17:24
阅读次数:
70
题目链接: "P2014 选课" ~~简单的~~树形$dp$,借助$dfs$实现。 一般的树形$dp$数组是要维的,一维记录节点(编号或父/子节点的状态(有时三维)),另一维记录权值或计数。 重要的是判断从根节点$dp$还是从叶节点$dp$,显然此题需从叶节点开始。 我们记$dp[i][j]$为从$ ...
分类:
其他好文 时间:
2020-02-13 12:55:41
阅读次数:
57
题解:求最小生成树的最大权值边 ①n<=50000,用二维数组会编译出错,开不了50000*50000这么大的数组 ②用Vector+优先队列 优化Prim即可得正解,一定要用优先队列优化,否则会超时! ③可以用struct Node,也可以用Pair优化 #include <stdio.h> #i ...
分类:
其他好文 时间:
2020-01-14 21:05:09
阅读次数:
113
题目描述 Bob 有一棵 n 个点的有根树,其中 1 号点是根节点。Bob 在每个点上涂了颜色,并且每个点上的颜色不同。 定义一条路径的权值是:这条路径上的点(包括起点和终点)共有多少种不同的颜色。 Bob可能会进行这几种操作: 表示把点 x 到根节点的路径上所有的点染上一种没有用过的新颜色。 求 ...
分类:
其他好文 时间:
2020-01-06 22:30:02
阅读次数:
86
LCT:link-cut-tree 先粘个板子(可能理解深刻?) #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int read() { int aa=0, ...
分类:
其他好文 时间:
2019-12-22 10:40:05
阅读次数:
95
原题连接:石子合并 题目描述 在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。 试设计出1个算法,计算出将N堆石子合并成1堆的最小得分和最大得分. 输入格式 数据的第1行试正整数N,1≤N≤100,表示 ...
分类:
其他好文 时间:
2019-11-13 23:41:25
阅读次数:
115
"链接" 背景 " $Luogu$ $P1122$ " 题意 给定一棵 $n$ 个节点的无根树的 $n 1$ 条边及 $n$ 个点的权值 $val_i$ ,求某棵子树的最大权值和。 解法 还是树形 $dp$ 模板。 还是没有根的树。 为了方便,不妨设 $1$ 号节点为根,则直接从 $1$ 号点开始 ...
分类:
其他好文 时间:
2019-11-11 21:33:58
阅读次数:
86
$1.$数字三角形 每次可以往右下或者左下走一格,求路径的最大权值. $d(i,j)=max(d(i+1,j),d(i+1,j+1))+a(i,j).$边界是$d(n+1,j)=0$,从下往上推(因为要保证$i+1$行在第$i$行之前更新) $3.$硬币问题 $$f(i)=min(inf,f[i V ...
分类:
其他好文 时间:
2019-11-09 23:46:26
阅读次数:
108