随笔分类 - 树形DP
摘要:题意:给出一棵树,(上下级关系)每个节点都有一个权值,要求选出一些节点满足这些节点任意连个点都不是直接的上下级关系,可以得到的最大权值是多少?分析:对于每个点有两个状态选或者不选,用状态数组dp[u][0]和dp[u][1]表示,对于当前u节点作为根节点的子树,若选择改点u,则状态方程是:dp[u]...
阅读全文
摘要:题意:有n个房间,有n-1条道路连接着n个房间,每个房间都有若干个野怪和一定的能量值,有m个士兵从1房间入口进去,到达每个房间必须要留下若干士兵杀死所有的野怪,然后其他人继续走,(一个士兵可以杀死20只 野怪)问可以获得的最大能量值是多少?分析:要想进入一个房间,必须把前面所有进过的房间的野怪都杀死...
阅读全文
摘要:题意:给出一颗树,求要形成一颗元素个数是p的子树,最少要去掉多少边#include"stdio.h"#include"string.h"#include"stdlib.h"#include"algorithm"#define M 222#define inf 0x3f3f3f3fusing name...
阅读全文
摘要:题意:给出一颗数,1结点代表司令部,叶子节点代表前线,边全值代表花费,然后需要在某些边放置一些炸弹,炸弹的能量不能小于该边的费用,且炸掉的总费用不能超过m问炸弹能力最小多少,分析dfs+二分,二分枚举下限,费用小于mid的可以炸掉,不能通过,且没有点可以到达叶子节点#include"stdio.h"...
阅读全文
摘要:题意:有n个房间,之间用n-1条道路连接,每个房间都有一个定时炸弹,在T时间后会一起爆炸,第i个房间有pi价值的珠宝,经过每条道路都需要花费一定的时间,一个人从1房间开始 ,从n房间出去,保证再不炸死的情况下可以带走的最大价值的珠宝是多少?分析:很容易想到,这是树上的01背包,可以抽象的想,要是珠宝...
阅读全文
摘要:题意:有n间房子,之间有n-1条道路连接,每个房间里住着一个人,这n个人都想到其他房间居住,并且每个房间不能有两个人,问所有人的路径之和最大是多少?分析:对于每条边来说,经过改边的人由该边两端元素个数较小者决定#pragma comment(linker, "/STACK:1024000000,10...
阅读全文
摘要:分析:首先树形dp(dfs计算出每个点为根节点的子树的最长距离和次长距离),然后找出L=dis[u][0]+dis[u][1]最长的那个点u,然后在以u为根节点dfs,统计长度为L的条数:具体做法:把u的儿子节点为根节点的子树深搜遍历到每个叶子节点,用h[dist[v]]统计该子树中u到v的距离,然...
阅读全文
摘要:题意:There is a city which is built like a tree.A terrorist wants to destroy the city's roads. But now he is alone, he can only destroy one road, then t...
阅读全文
摘要:题意:给出一个n个节点的树形图,统计{A,B,C}的数量,其中ABC分别是树上三个不同的节点,并且这三个节点不能被一条路径覆盖分析:对于下图进行dfs深搜统计,num[u]统计回溯到当前节点u,并以u为根节点的子树节点个数,当回溯点到不存在,当回溯到时可以从{4}中和{5}中分别选择一个然后在选择4...
阅读全文
摘要:题意:给出一个树形图,要求把该树形成一个环最少的步骤(断开一条边和形成一条边都需一步)分析:很明显,要想把树形成一个环,就要先把其分裂成m条子链之后把子链形成环需要的步骤是2*m+1,所以只需要m最小即可;贪心,以度为1的节点为根节点进行深搜,在回溯的时候对于边(u,v)如果son[v]>=2,则需...
阅读全文
摘要:题意:有n个房子,这些房子被n-1条道路连接,有一些运动员从一个房子为起点尽可能跑最远的距离且不能通过一条道路超过两次,这些运行员不能选择同样的起点,这些运动员跑的最远距离和最近距离的差值不能超过Q,这些运行员的起点房间编号都是连续的,问最多可以选择多少个运动员跑步?分析:就是给出一颗树形图,先用d...
阅读全文
摘要:题意:给出一颗n(nans[i]) id=i; printf("%d %d\n",id,ans[id]); }}
阅读全文
摘要:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5374Building Fire StationsTime Limit:5 Seconds Memory Limit:131072 KB Special JudgeMarjar U...
阅读全文
摘要:TELETime Limit:1000MSMemory Limit:65536KTotal Submissions:3675Accepted:1936DescriptionA TV-network plans to broadcast an important football match. The...
阅读全文
摘要:hdu2196ComputerTime Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2903Accepted Submission(s): 1472Pro...
阅读全文
摘要:hdu4612Warm upTime Limit: 10000/5000 MS (Java/Others)Memory Limit: 65535/65535 K (Java/Others)Total Submission(s): 3184Accepted Submission(s): 720Prob...
阅读全文
摘要:hdu4607Park VisitTime Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2274 Accepted Submission(s): 100...
阅读全文