摘要:
通道:http://poj.org/problem?id=2378题意: 给一颗n个结点的树,节点编号为1~n,把删除一个节点之后, 剩下的分支中节点数量最多的数量不大于总数量一半的编号全部按顺序输出,和上题类似代码:#include #include #include #include #in... 阅读全文
摘要:
通道:http://poj.org/problem?id=3107题意:给一颗n个结点的树,节点编号为1~n,问删除一个节点之后,让剩下的分支中节点数量最多的尽量少,可能有多种方案,按编号顺序输出思路:先dfs计算每个节点子树的节点个数tot[i],再次dfs更新答案:f[i] = max( n-t... 阅读全文
摘要:
通道:http://acm.hdu.edu.cn/showproblem.php?pid=3586题意:给定n个敌方据点,1为司令部,其他点各有一条边相连构成一棵树,每条边都有一个权值cost表示破坏这条边的费用,叶子节点为前线。现要切断前线和司令部的联系,每次切断边的费用不能超过上限limit,问... 阅读全文
摘要:
通道:http://acm.hdu.edu.cn/showproblem.php?pid=4276题意:权边权点树,求在T内从1到n的点权和最大思路:树型DP。先用spfa跑出从点1到点n的最短路。如果这最短的时间已经超过T,那么就是无法完成的。容易知道,最短路径上的边只会经过一次且必须经过一次,而... 阅读全文
摘要:
通道:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3626题意:点权边权树,求从k出发,花费为m情况内,最终回到k点,点权和最大是多少思路:f(i,j)表示子树i, 用花费j最多可以获得的价值 对与i的每个儿子,可以选择分... 阅读全文
摘要:
通道:http://http//acm.hdu.edu.cn/showproblem.php?pid=4044题意:一棵树(编号1-n),1是敌人出口(只有一个敌人)。叶子节点是我军。在节点处装大炮。每个节点有 k 种大炮选择,可是每个节点最多装一个大炮。每个大炮有一个花费和一个威力值。你一共有m钱... 阅读全文
摘要:
通道:http://poj.org/problem?id=3345题意:现在有n个村子,你想要用收买m个村子为你投票,其中收买第i个村子的代价是val[i]。但是有些村子存在从属关系,如果B从属于A国,则收买了A也意味着买通了B,而且这些关系是传递的。问你最小要付出的代价是多少思路:老大和小弟的关系... 阅读全文
摘要:
通道:http://poj.org/problem?id=2486题意:点权树,求从1出发,走V步,最多能遍历到的点权和思路:我们把背包的思想用到这里来,做的步数相当于背包的容量,点上的权值相当于价值,给定一定的背包容量,求最多能装进背包的 价值 设dp[0][s][j]表示从s(当前根节点)... 阅读全文
摘要:
通道:http://acm.hdu.edu.cn/showproblem.php?pid=4003题意:边权树.有K个机器人从S点出发, 问让机器人遍历所有边,最少花费值多少思路:dp[i][j]表示以i为根的树用掉j个人。dp[i][0]表示用了一个人又回到上面的点,然后就是分组背包,每个组必选一... 阅读全文
摘要:
通道:http://acm.hdu.edu.cn/showproblem.php?pid=1561题意:有依赖关系的点权森林,求选m个点权和最大。思路:dp[i][j]:i子树选j个节点,dp[i][j]=max(dp[i][j],dp[i][j-k]+dp[son[i]][k]),森林的处理就是增... 阅读全文
摘要:
通道:http://poj.org/problem?id=1947题意:给出n,p,一共有n个节点,要求减去最少的边是多少,剩下p个节点思路:dp[u][i]:记录u结点,要得到一棵i个节点的子树去掉的最少边数考虑其儿子k1)如果不去掉k子树,则dp[u][i] = min(dp[u][j]+dp[... 阅读全文
摘要:
通道:http://acm.hdu.edu.cn/showproblem.php?pid=1011题意:一棵树有n个节点,每个节点有一定的bug值和价值,一个人从1出发有m个兵(1个兵可以打20个bug),经过一个点,要留下足够的兵才能往下走并且获得该点的价值,问如何用m个兵获得最大的价值思路:dp... 阅读全文
摘要:
通道:http://poj.org/problem?id=1155题意:加权树,叶子节点有点权,问最多能选多少个叶子节点使得到达根节点1的花费大于等于路径和。思路:dp[i][j]:i子树中有j个叶子节点的最大利润。dp[i][j]=max(dp[i][j],dp[i][j-k]+dp[son of... 阅读全文
摘要:
通道:http://codeforces.com/problemset/problem/219/D题意:有n个城市,它们之间有n-1条路(路都是单向的),形成一棵树。现在可以改变一些路的方向,选择一个首都,使得从首都出发能达其它城市,所需要重建的路的数量最少思路:考虑每个节点,他的花费是儿子中加上来... 阅读全文
摘要:
通道:http://poj.org/problem?id=3162题意:对一棵树,求出从每个结点出发能到走的最长距离(每个结点最多只能经过一次),将这些距离按排成一个数组得到d[1],d[2],d[3]……d[n] ,在数列的d中求一个最长的区间,使得区间中的最大值与最小值的差不超过m思路:用2次d... 阅读全文