摘要:
1036: [ZJOI2008]树的统计CountTime Limit:10 SecMemory Limit:162 MBSubmit:5759Solved:2383[Submit][Status]Description一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式... 阅读全文
摘要:
题意:给出一颗树形图,有三种操作,I:在u到v的路径上的每个点的权值+d,D:在u到v的路径上的每个点的权值都-d,Q询问u点的权值#pragma comment(linker, "/STACK:1024000000,1024000000")#include"stdio.h"#include"str... 阅读全文
摘要:
题意:给出n个城市,k条道路,每条道路都有其负责的公司和花费,m个公司来投标修路,给出m个公司承包需要交纳的赋税,如果第i个公司负责修1-->2路,第j个公司负责修2-->3路,如果选择了第i个公司则必须选择第j个公司来修理后继的工程,问国家在的最大收入最大是多少?分析:首先处理出来每个公司的后继公... 阅读全文
摘要:
题意:给出一个无向图,每个点都有点权值代表花费,每条边都有利益值,代表形成这条边就可以获得e[i]的利益,问选择那些点可以获得最大利益是多少?分析:把边抽象成点,s与该点建边,容量是利益值,每个点与t建边,容量是花费值,然后抽象出来的点分别和对于的边的两个端点连边,权值是inf;代表只要选择该边就一... 阅读全文
摘要:
定义:最大权闭合图:是有向图的一个点集,且该点集的所有出边都指向该集合。即闭合图内任意点的集合也在改闭合图内,给每个点分配一个点权值Pu,最大权闭合图就是使闭合图的点权之和最大。最小割建边方式:源点s和正权的点连接,容量是Pu,负权的点和汇点t相连,容量是-Pu,之间的边权值inf,过一遍最大流an... 阅读全文
摘要:
题意:给出一副连通图,求出一个子图令g=sigma(E)/sigma(V);h[g]=sigma(E)-g*sigma(V);设G是最优值则当h[g]>0:gG;h[g]=0:g=G;h[g]=(U*n-Cut[S,T])/2;当最小割Cut[S,T]最小时,h[g]最大分析:建图方式:对于,建立正... 阅读全文
摘要:
题意:有n双鞋,a,b,c分别代表型号,价格和舒适度,当拥有m元时,每个型号的鞋至少买一双的最大舒适度是多少?#include"stdio.h"#include"string.h"#include"stdlib.h"#include"algorithm"#include"math.h"#includ... 阅读全文
摘要:
题意:有n个任务,完成期限是m天,a[i][j]代表第i个任务用j天完成可以获得的利益,问在这m天里面可以获得的最大利益,每次只能做一个任务,即多个任务不能同时做;分析;用dp[i][j]代表在做第i个任务的时候j天获得的最大利益;#include"stdio.h"#include"string.h... 阅读全文
摘要:
题意:给出一棵树,(上下级关系)每个节点都有一个权值,要求选出一些节点满足这些节点任意连个点都不是直接的上下级关系,可以得到的最大权值是多少?分析:对于每个点有两个状态选或者不选,用状态数组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... 阅读全文
摘要:
转载于:http://blog.csdn.net/xuzengqiang/article/details/7350465RMQ算法全称为(RangeMinimum/MaximumQuery)意思是给你一个长度为n的数组A,求出给定区间的最值的下标。当然我们可以采用枚举,但是我们也可以使用线段树来优化... 阅读全文