题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5834 题目大意: 一棵N个点的有根树,每个节点有价值ci,每条树边有费用di,节点的值只能取一次,边权每次经过都要扣,问从每一个节点开始走最大能获得的价值。 题目思路: 【树形动态规划】 首先用dfs ...
分类:
其他好文 时间:
2016-08-28 18:12:30
阅读次数:
178
Probelm Terrorists 题目大意 给一张n个点,m条边的无向图。共有q个询问,每次询问u到v的最短路。 n <= 100000 , n-1 <= m <= n + 50 , q <= 50000。 解题分析 注意到m的范围比较特殊,所以可以看成是一棵树加上若干条非树边。 将所有的非树边 ...
分类:
其他好文 时间:
2016-08-26 21:29:59
阅读次数:
188
题目等价于去掉两条边,使得剩下的图连通,且所有点度数都为偶数。 首先特判掉图一开始就不连通的情况。 求出dfs生成树,对于每条非树边随机一个权值,每条树边的权值为所有经过它的非树边权值的异或和。 那么剩下的图连通等价于两条边权值非$0$,且两条边的权值不等。 如果有$2$个奇点,那么两条边有公共点, ...
分类:
其他好文 时间:
2016-08-25 21:10:38
阅读次数:
127
这道题我一直尝试用scanf来进行输入,不过一直没有成功,因此先搁置一下,以后积累些知识再进行尝试。 这道题有两种解决方案: 即先建树,再遍历和边建树边遍历。这两种方案经过实践证实效率相差不太多。应该主要耗时的是cin stringstream 之类的输入函数。 另外,通过这道题领悟了一个非常重要的... ...
分类:
其他好文 时间:
2016-08-10 14:02:47
阅读次数:
212
我是参考这一篇写的:http://blog.csdn.net/fsss_7/article/details/52049474 一点感想:dp[i][0]代表以这个点为根的且总叶子数为偶数个叶子的答案 考虑每条树边的贡献,贪心的想,肯定是每条树边出现的次数越少越好 由于树链肯定从一个叶子到另外一个叶子 ...
分类:
其他好文 时间:
2016-08-02 11:22:02
阅读次数:
138
Description 给定一棵树,边的颜色为黑或白,初始时全部为白色。维护两个操作:1.查询u到根路径上的第一条黑色边的标号。2.将u到v 路径上的所有边的颜色设为黑色。Notice:这棵树的根节点为1 给定一棵树,边的颜色为黑或白,初始时全部为白色。维护两个操作:1.查询u到根路径上的第一条黑色 ...
分类:
其他好文 时间:
2016-07-06 15:00:05
阅读次数:
208
二叉搜索树:1.每个节点都有一个关键码(key)作为搜索依据,关键码互不相同。2.左子树的所有关键码都小于根节点的关键码。3.右子树的所有关键码都大于根节点的关键码。4.左右子树都是二叉搜索树。删除key:左为空,右为空,左右都不空1)左为空:cur的右树链到父节点2)右为空..
分类:
其他好文 时间:
2016-06-19 01:23:12
阅读次数:
178
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1040 题意:给出一个图,只有一个环。每个点有一个权值。选出一些点两两不相邻,使得权值最大? 图中只有一个环,那么我们先建树,那么只有一条非树边,非树边上两个点我们设为node和root,那 ...
分类:
其他好文 时间:
2016-06-02 20:00:30
阅读次数:
167
题意:求一棵树的严格次小生成树,即权值严格大于最小生成树且权值最小的生成树。 先求最小生成树,对于每个不在树中的边,取两点间路径的信息,如果这条边的权值等于路径中的权值最大值,那就删掉路径中的次大值,加上这条非树边,更新答案;否则删掉路径中的最大值,加上这条非树边,更新答案。 ...
分类:
其他好文 时间:
2016-05-27 21:44:53
阅读次数:
137
题目链接:http://www.codechef.com/problems/PRIMEDST/ 题意:给出一棵树,边长度都是1。每次任意取出两个点(u,v),他们之间的长度为素数的概率为多大? 树分治,对于每个根出发记录边的长度出现几次,然后每次求卷积,用素数表查一下即可添加答案。 ...
分类:
其他好文 时间:
2016-05-26 20:35:24
阅读次数:
219