POJ3723--Conscription(MST)WRONG】的更多相关文章

Conscription Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8071   Accepted: 2810 Description Windy has a country, and he wants to build an army to protect his country. He has picked up N girls and M boys and wants to collect them to be…
http://poj.org/problem?id=3723 这题虽然简单,但是还是错了很多次. 因为这题构建的图可能是不连通的.也就是说可能有很多棵树. 所以我以前写的并查集用在这上面会出问题的. while(x != f[x]) x = f[x]; return f[x]; //我这样子每次用完之后并没有更新f[x]的值. //虽然在连通图中没问题,但是在不连通的图里用就会有问题啦. 血的教训.... 改正: if(x !=f[x]) f[x] = find(f[x]); return f[…
http://poj.org/problem?id=3723 题目大意: 需要征募女兵N人,男兵M人,没征募一个人需要花费10000美元,但是如果已经征募的人中有一些关系亲密的人,那么可以少花一些钱,给出若干男女之间的1~9999之间的亲密度关系,征募某个人的费用是10000-(已经征募的人中和自己的亲密度的最大值),要求通过适当的征募顺序使得征募所有人的花费最小. 思路: 好几天没刷题,来水一发 征募了某个人a时,如果使用了a和b之间的关系,那么就连一条从a到b的边.那么根据贪心算法,每次选择…
  男女搭配,干活不累 题目大意:需要招募女兵和男兵,每一个人都的需要花费1W元的招募费用,但是如果有一些人之间有亲密的关系,那么就会减少一定的价钱,如果给出1~9999的人之间的亲密关系,现在要你求招募所有人的时候,最少的价格? 看似这一题要用到二分图,其实根本用不上,我们仔细想一下我们如果把所有的男和女都看成人的话,那么其实我们就是要求这些关系的最大值的负值(也就是最小生成树) 这样一看,这题其实很裸,要注意区分男和女就行(别搞错男女了,不然就RE了),男的点的位置就看成是女的总数+男的坐标…
Conscription Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6870   Accepted: 2361 Description Windy has a country, and he wants to build an army to protect his country. He has picked up N girls and M boys and wants to collect them to be…
Description: Windy有一个国家,他想建立一个军队来保护他的国家. 他召集了N个女孩和M男孩,想把他们雇佣成为他的士兵. 要无偿雇佣士兵,必须支付10000元. 女孩和男孩之间有一些关系,而Windy可以利用这些关系来降低他的成本. 如果女孩x和男孩y有关系,并且其中一个已经被收集,Windy可以以10000-d的价格雇佣另一个. 现在给予女孩和男孩之间的所有关系,你的任务是找到Windy必须支付的最少的钱. 请注意,雇佣一名士兵时只能使用一种关系. Input:第一行输入是测试用…
#include<iostream> #include<cstring> #include<cstdio> #include<algorithm> using namespace std; #define inf 10000000 #define MAXN 20000 struct Edge{ int x,y,len; }e[3*MAXN]; int n,m,r,ans; int fa[MAXN]; int find(int x) { if(x != fa[…
转自:http://blog.csdn.net/shahdza/article/details/7779230 [HDU]1213 How Many Tables 基础并查集★1272 小希的迷宫 基础并查集★1325&&poj1308 Is It A Tree? 基础并查集★1856 More is better 基础并查集★1102 Constructing Roads 基础最小生成树★1232 畅通工程 基础并查集★2120 Ice_cream's world I 基础并查集★212…
Conscription Descriptions 需要征募女兵N人,男兵M人. 每招募一个人需要花费10000美元. 如果已经招募的人中有一些关系亲密的人,那么可以少花一些钱. 给出若干男女之前的1 ~ 9999 之间的亲密度关系, 招募某个人的费用是 10000 - (已经招募了的人中和自己的亲密度的最大值). 要求通过适当的招募顺序使得招募所有人所花费的费用最小. Input 输入N, M, R;接下来输入R行 (x, y, d) 表示第 x 号男兵和第 y 号女兵之间的亲密度是 d Ou…
The Unique MST Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 28673   Accepted: 10239 Description Given a connected undirected graph, tell if its minimum spanning tree is unique. Definition 1 (Spanning Tree): Consider a connected, undir…