并查集
bobten2008
这个作者很懒,什么都没留下…
展开
-
POJ 1861 Networks
并查集 + 贪心 + 快速排序 求最小生成树 #include #include #define MAX_HUB_NUM 1005#define MAX_EDGE_NUM 15005using namespace std;int edge[3][MAX_EDGE_NUM + 1];int head[MAX_HUB_NUM + 1];int resEdge[M原创 2009-05-27 10:12:00 · 713 阅读 · 0 评论 -
POJ 1127 Jack Straws
Jack StrawsTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 1824 Accepted: 817DescriptionIn the game of Jack Straws, a number of plastic or wooden "st原创 2009-09-19 18:09:00 · 2092 阅读 · 1 评论 -
POJ 1144 Network
/*并查集求割点*/#include #include #define MAX_N 100#define MAX_L 4950using namespace std;struct line{ int id1, id2; bool have(int id) { if(id != id1 && id != id2)原创 2009-09-26 16:23:00 · 900 阅读 · 0 评论 -
POJ 1386 Play on Words
/*欧拉路径并查集判断连通性建图:小写字母作为结点,对于单词hello,为h的出度增加1,为o的入度增加1*/#include #include #include using namespace std;int caseNum, wordNum, letterNum;char temp[1002];struct letter{ ch原创 2009-10-23 22:13:00 · 619 阅读 · 0 评论 -
POJ 1639 Picnic Planning
/*这题调得快吐血了,做得真辛苦这题主要就是求最小限度生成树,即给定一棵树,在某个节点上加上这个节点的最大度数,然后求一棵满足这样条件的树且最终的权值和最小。这道题就是在根节点Park上做度数限定,然后求最小限度生成树最小限度生成树的求法与MST(最小生成树密不可分)主要思路有以下几个步骤1)将根节点从图中去除掉2)对去除根节点的图求MST,注意这里去除根后的图可能是原创 2009-11-07 19:33:00 · 1749 阅读 · 0 评论 -
POJ 1733 Parity Game
Parity gameTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 2426 Accepted: 992DescriptionNow and then you play the following game with your frien原创 2009-11-20 14:19:00 · 1137 阅读 · 0 评论 -
POJ 1984 Navigation Nightmare
/*并查集的高级应用,利用并查集计算农场间的相对坐标关系在每次查找和合并的时候由于参照点的变化需要更新相应点的坐标*/#include #include #define MAX_F 40005#define MAX_Q 10005//存储所有农场的位置struct farm{ //并查集的参照点id以及当前点的排名 int sid原创 2009-12-01 19:33:00 · 1134 阅读 · 0 评论 -
POJ 1986 Distance Queries
/*由于输入图是一个树,所以可以任意指定一个节点为root结点,然后用LCATarjan算法离线计算任意被查询两个点的LCA,则:dist(i, j) = dist(root, i) + dist(root, j) - 2 * dist(root, lca(i, j))寻找LCA的Tarjan算法,LCATarjan算法是一个离线算法,即所有查找请求是一次性同时处理的,而不是输入一原创 2009-12-02 13:32:00 · 1209 阅读 · 0 评论