HDU - 5854 二分答案之后, 设答案值为v, x为小于等于v的边的数量, y为大于v的边的数量, 列出方程 x > (x + y) / k == (k - 1) * x - y > 0, 感觉有点像线性规划的样子。 然后用树形dp去check, 判合不合法的时候可以优化成一个R, 但是不优化 ...
分类:
其他好文 时间:
2019-08-30 22:24:24
阅读次数:
98
1.由根分为左右子树两部分情况 二叉苹果树 2.背包类树形dp 选课 3.树的最长链 数字转换 4.树的最大独立子集 战略游戏 5.普通树的dp 皇宫看守 ...
分类:
其他好文 时间:
2019-08-30 09:17:07
阅读次数:
104
题目链接:https://vjudge.net/problem/POJ-3162 题意:给一棵树,求每个结点的树上最远距离,记为a[i],然后求最大区间[l,r]满足区间内的max(a[i])-min(a[i])<=M。 思路:第一步向hdoj2196那题一样树形dp求出每个结点的最长距离,我的另一 ...
分类:
其他好文 时间:
2019-08-28 13:24:21
阅读次数:
92
题目链接:https://vjudge.net/problem/HDU-6446 题意:简化题意后就是求距离和的2*(n-1)!倍。 思路: 简单的树形dp,通过求每条边的贡献计算距离和,边(u,v)的贡献为sz[v]*(n-sz[v])。 另外因为前几天学点分治,看到这题想到可以用点分治求距离和。 ...
分类:
其他好文 时间:
2019-08-27 20:57:52
阅读次数:
84
题意:给你一颗树,你可以把这棵树上的一条边的边权变为0,现在让你选一个根,让所有点到这个点的最大距离尽量的小。如果有多个根的最大距离距离相同,输出编号最小的边。 思路:如果没有把边权变为0的操作,这个题实际上是找树的直径的中心。现在有变为0的操作,很容易想到加一维来标记是否已经把某条边的边权变为0。 ...
分类:
其他好文 时间:
2019-08-27 19:19:37
阅读次数:
67
C. Helga Hufflepuff's Cup 这个题目我感觉挺难的,想了好久也写了很久,还是没有写出来。 dp[i][j][k] 代表以 i 为根的子树中共选择了 j 个特殊颜色,且当前节点 i 的状态为 k 的染色方案数。 但是这个dfs过程的处理我觉得很复杂。 我们需要一个数组来进行临时的 ...
分类:
其他好文 时间:
2019-08-24 22:41:50
阅读次数:
102
[HEOI2013]SAO 这道题是个不错的计数题,考察了 调换求和顺序再前缀和优化 ,难点在状态设计,比较考察思维。 一句话题意:给你一棵数,树边为有向边,求其拓扑序数。 对DAG求拓扑数是一个NP问题,但是这里保证是一棵树,所以我们可以用树形DP来求解。 状态的设计上,光设结点编号$u$不够,还 ...
分类:
其他好文 时间:
2019-08-23 22:07:26
阅读次数:
86
树(tree) 【问题描述】 图论中的树为一个无环的无向图。给定一棵树,每个节点有一盏指示灯和一个按钮。如果节点的按扭被按了,那么该节点的灯会从熄灭变为点亮(当按之前是熄灭的),或者从点亮到熄灭(当按之前是点亮的)。并且该节点的直接邻居也发生同样的变化。 开始的时候,所有的指示灯都是熄灭的。请编程计 ...
分类:
其他好文 时间:
2019-08-23 19:04:07
阅读次数:
57
题目描述 有一棵苹果树,如果树枝有分叉,一定是分2叉(就是说没有只有1个儿子的结点) 这棵树共有N个结点(叶子点或者树枝分叉点),编号为1 N,树根编号一定是1。 我们用一根树枝两端连接的结点的编号来描述一根树枝的位置。下面是一颗有4个树枝的树 现在这颗树枝条太多了,需要剪枝。但是一些树枝上长有苹果 ...
分类:
移动开发 时间:
2019-08-22 22:22:17
阅读次数:
135
树型DP DFS的回溯 是树形DP的重点以及核心, 当回溯结束后,root的子树已经被遍历完并处理完了。 这便是树形DP的最重要的特点 自己认为应该注意的点 1. 好多人都说在更新当前节点时,它的儿子结点都给更新完了,实际上这并不准确。对于当前节点,我们需要dfs它的儿子,并且在dfs中进行dp。在 ...
分类:
其他好文 时间:
2019-08-22 20:37:00
阅读次数:
117