Building roads
Time Limit: 2000MS
Memory Limit: 65536K
Total Submissions: 6229
Accepted: 2093
Description
Farmer John's farm has N barns, and there are some cows that...
分类:
其他好文 时间:
2014-06-30 10:55:18
阅读次数:
146
树状DP第二题,这个题真的好复杂~~
题目大意:
有一个n个结点的树,问至少去掉几条边可以产生一个有p个节点的子树。
解题思路:
dp[i][j]表示以i号节点为根的子树,当有j个结点时最少需要去掉几条边。
初始化:当只有1个节点时,一定是连接它到孩子结点的所有边都去掉。
设某一孩子结点标号为v 则dp[i][j]=min(dp[i][j],dp[i][j-t]+dp...
分类:
其他好文 时间:
2014-06-22 18:24:38
阅读次数:
185
题目链接:点击打开链接
题意:
给定n个点 m条边的无向图 需要在图里增加p条边 使得图最后连通分量数为q
问是否可行,不可行输出NO
可行输出YES,并输出添加的p条边。
set走起。。
#include
#include
#include
#include
#include
#include
using namespace std;
#define N 123456
#defin...
分类:
其他好文 时间:
2014-06-22 09:26:08
阅读次数:
172
题目链接:
http://poj.org/problem?id=3411
题目:
Paid Roads
Time Limit: 1000MS
Memory Limit: 65536K
Total Submissions: 5080
Accepted: 1784
Description
A network of m r...
分类:
其他好文 时间:
2014-06-15 13:25:24
阅读次数:
179
http://poj.org/problem?id=3411
大致题意:n个城市由m条公路连接,两个城市之间可能有多条公路连接。经过每条公路都需要收费,对于城市a,b,若之前经过城市c那么只需交p元钱,否则交r元钱。问从城市1到n的最小花费。
思路:由于经过每条公路的收费有两种方式,那么有的城市可能要经过多次,以便获得更小的花费,但也有可能出现有环的情况,那么该城市经过多次只会...
分类:
其他好文 时间:
2014-06-08 15:27:22
阅读次数:
145
http://poj.org/problem?id=1724
大致题意:N个城市由R条单向路连通,每条路(S,D)之间有两个因素:路的长度L和路的花费T。现要从城市1到达城市N,求花费在K以内的最短路程。
思路:很明显的dfs(他们都说很明显的spfa。。。)。不过dfs有几点注意的地方:
建立邻接表不能用vector存,要用链表的形式,采用头插法。
dfs的时候,在递归节...
分类:
其他好文 时间:
2014-06-08 14:41:32
阅读次数:
243
题目意思:有n个村庄,编号1-n,以矩阵的形式给出任意两个村庄之间的距离,然后告诉已经有q个村庄已经修好了路,问现在要打算使所有村庄都联通需要修路的最小长度。
思路就是构造一棵最小生成树,所以将距离排序,从小到大依次并入,直到集合数为1为止。...
分类:
其他好文 时间:
2014-06-08 03:22:29
阅读次数:
289
题目:
链接:点击打开链接
题意:
求需要修建的公路的最短长度。
算法:
思路:
prim最小生成树
代码:
#include
#include
#include
using namespace std;
#define MAX 100000000
#define MAXN 110
int map[MAXN][MAXN];
int ...
分类:
其他好文 时间:
2014-06-07 01:49:07
阅读次数:
213
题目:
链接:点击打开链接
题意:
对n个村庄之间的路进行修理, 然后是n-1行,每行的第一组数据时一个大写字母VIL和一个数K,Vil表示从这个村庄出发,K表示刚才的那个字母代表的村庄和其他村庄的路的数目,接下来在同一行是K组数据,每组是一个大写字母和一个数,大写字母表示和第一个村庄连接的村庄,数表示维修他们之间的路所需的费用。现在为了使维修费油最低,只需所...
分类:
其他好文 时间:
2014-06-02 12:27:47
阅读次数:
171