生成树
文章平均质量分 73
tianhaijun2013
来自湖南省
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
hdu Eddy's picture
直接用模板,prim kruskual 都可以。 prim: #include #include #include double lowcost[110]; double dp[110][110]; int visit[110]; int n; double prim() { int j,z; double min,sum=0.0; in原创 2013-08-23 20:57:56 · 685 阅读 · 0 评论 -
hdu Farm Irrigation
主要难点在构图,其实也不难,然后就是运用并查集, 把能够连通的成为一个集合,最后看有多少个集合就是所求的解。 #include int n,m; const int maxn = 60 ; struct node { int up; int down; int left; int right; }list[maxn][maxn]; in原创 2013-08-24 11:25:12 · 611 阅读 · 0 评论 -
hdu 继续畅通中。
不用多说,用模板。 #include #include const int maxn = 110; const int INF = 0xfffffff; int map[maxn][maxn],lowcost[maxn],vis[maxn],n; int prim() { int i,j,k,mins,yes,sum=0; for(i=1;i<=n;i+原创 2013-08-23 21:11:11 · 606 阅读 · 0 评论 -
hdu Jungle Roads
这一题目,主要是如何建图。 也是用模板。不多说。 #include #include using namespace std; #define maxn 1000 + 10 #define INF 100000000 int net[maxn][maxn],lowcost[maxn],vis[maxn]; int n; int prim() { int j,原创 2013-08-23 21:04:43 · 581 阅读 · 0 评论 -
hdu 还是畅通工程
模板题目:不多说。 #include #include int n,tn; int map[110][110]; int lowcost[110]; int prim() { int i,j,z; int yes,min,sum=0; int vis[110]; memset(vis,0,sizeof(vis)); mems原创 2013-08-23 21:02:18 · 620 阅读 · 0 评论 -
hdu 畅通工程
不多说,用模板,注意?是没有访问到全部的点。 #include #include const int maxn = 110; #define INF 0xfffffff int map[maxn][maxn],lowcost[maxn],vis[maxn],n,m; int prim() { int i,j,k,mins,yes; int sum=0;原创 2013-08-23 21:06:45 · 687 阅读 · 0 评论 -
hdu Constructing Roads
题意:给出一个数N,表示有N个城市,接下来的矩阵就表示,各城市之间的连通价格, 然后给一个数M,接下的M行表示,每两个数为两个城市已经连通。(那么我们可以表示为零); 这个题可以直接用模板解决。 #include #include const int maxn = 110; #define INF 0xfffffff int n,m,map[maxn][maxn],low原创 2013-08-23 20:54:27 · 593 阅读 · 0 评论 -
hud Connect the Cities
注意:后面的有3个城市是指相互连接。 用模板。 #include #include const int maxn = 510; #define INF 0xfffffff int map[maxn][maxn],lowcost[maxn],vis[maxn],n,m,k; int prim() { int i,j,z,mins,sum=0,yes; f原创 2013-08-23 21:13:00 · 548 阅读 · 0 评论 -
hdu 畅通工程再续。
我们可以提前处理那些不能够到达的点。 #include #include #include const int maxn = 110; const double INF = 100000000.0; double map[maxn][maxn],lowcost[maxn],x[maxn],y[maxn],z; int vis[maxn],m; double prim(原创 2013-08-23 21:09:50 · 641 阅读 · 0 评论 -
hdu 畅通工程
我们用并查集求出共有多少个集合,然后总集合减一就是题目的解, 如果你去计算共连通了多少步,最后一组测试数据你一定会超时。 #include #include const int maxn = 1001; int father[maxn],rank[maxn]; struct node { int x; int y; }list[maxn*maxn];原创 2013-08-23 21:00:50 · 680 阅读 · 0 评论 -
hdu find the most comfortable road
我想,将速度做一次排序,最后就是多次并查集枚举答案。 因为在排完序之后,减去起点之后的就是本次旅游的最大起伏点,多次枚举求出最小值就是解。 #include #include #include using namespace std; const int maxn = 205; const int maxm = 1005; const int INF = 0xffffff原创 2013-08-24 10:05:14 · 651 阅读 · 0 评论
分享