题目大意: 
一个学校里有N个学生,但每个学生对宗教的信仰不同。有M对同学,每一对的同学对宗教的信仰是相同的,让你求N个同学里最多有多少同学信仰着不同的宗教。解题思路: 
简单并查集。先建树,信仰同一宗教的同学在一个树上,然后查找有几棵树就可以了,查找多少棵树的方法就是统计祖先是是本身的个数即可。代码....
                            
                            
                                分类:
其他好文   时间:
2014-05-26 06:49:51   
                                阅读次数:
178
                             
                    
                        
                            
                            
                                大意:几个小镇要通过公路互通,已经建成了一些公路,问还需要建哪几条,并满足公路总长最小。
有多组输入,每组输入的格式是:n个城镇的坐标(x,y)  m条已经修好的路(公路一端城镇编号,另一端编号)。
输出格式为:(待建公路一端城镇编号,另一端编号)特殊判题,不用在意输出顺序。
注意:相邻两组测试样例的输出要有空行。最后一组后不加空行。不然就WR,竟然还不是PE!zoj不够友好。...
                            
                            
                                分类:
其他好文   时间:
2014-05-25 01:48:49   
                                阅读次数:
338
                             
                    
                        
                            
                            
                                题目以前的 一道题。题意:n个数,m条信息,每条信息是 
从a到b的和,为s,判断有多少条信息错误,如果发现一条信息错误,就去掉这条信息,然后再往下看。 注意这些值可能有负的。 1 #include 2 
#include 3 #include 4 #include 5 using namesp...
                            
                            
                                分类:
其他好文   时间:
2014-05-23 07:19:00   
                                阅读次数:
218
                             
                    
                        
                            
                            
                                一笔画问题
时间限制:3000 ms  |  内存限制:65535 KB
难度:4
描述
zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下来。
规定,所有的边都只能画一次,不能重复画。
 
输入第一行只有一个正整数N(N
每组测试数据的第一行有两个正整数P,Q(P
随后的Q行,每行有...
                            
                            
                                分类:
其他好文   时间:
2014-05-22 22:41:12   
                                阅读次数:
297
                             
                    
                        
                            
                            
                                挺简单的
N个元素扩展为 3*N个
i-A i-B i-C
A吃B吃C吃A
挑战程序设计的89面
#include 
#include 
#include 
#include 
#include 
using namespace std;
int N,K;
const int MAX_N=333333;
//并查集
int par[MAX_N];
int rank[MAX_N];//树的...
                            
                            
                                分类:
其他好文   时间:
2014-05-21 16:03:48   
                                阅读次数:
216
                             
                    
                        
                            
                            
                                题目:
    链接:点击打开链接
题意:
思路:
    一个并查集,题目就是要让你判断是否是一个连通的无环图。1>判断成环的时候,只要判断输入边的两个点。有一个共同的父节点,那么这两个点就成环。2>判断连通的时候,只要判断根节点数为1即可。注意:当输入的这组数据只有
 0 0 时,依然是满足,即应输出 "Yes"。
代码:
#include
#include
#include
#...
                            
                            
                                分类:
其他好文   时间:
2014-05-21 14:51:14   
                                阅读次数:
188
                             
                    
                        
                            
                            
                                题目:
    链接:点击打开链接
题意:
    给出n个直接认识的朋友,最大的直接或间接认识的朋友。
思路:
算法:
    并查集,,,
代码:
#include
#include
#include
using namespace std;
#define MAXN 100010
int root[MAXN];
int member[MAXN];//表示在i结点处的,认识的...
                            
                            
                                分类:
其他好文   时间:
2014-05-21 10:59:57   
                                阅读次数:
254
                             
                    
                        
                            
                            
                                Problem Description
A tree is a well-known data structure that is either empty (null, void, nothing) or is a set of one or more nodes connected by directed edges between nodes satisfying the follow...
                            
                            
                                分类:
其他好文   时间:
2014-05-21 10:55:57   
                                阅读次数:
325
                             
                    
                        
                            
                            
                                做过一些的带权并查集,再来做所谓的“种类并查集",发现好像就顿悟了。
种类并查集与带权并查集实质上的差别并不大, 关键的区别就是种类并查集只是带权并查集再弄个%取余操作而已,然后余数就表示他属于哪个种类。
这题只有两个种类,也就是只有0和1两种, 对于两个不同的种类,那么之间的权值是相差1的,所以按照带权并查集的方法做加上1,然后取余2即可。
#include
const int N = ...
                            
                            
                                分类:
其他好文   时间:
2014-05-21 07:24:40   
                                阅读次数:
173
                             
                    
                        
                            
                            
                                一张图上分布着n台坏了的电脑,并知道它们的坐标。两台修好的电脑如果距离
#include 
#include 
#include 
#include 
#include 
#include 
const int MAXN=111111;
const int MAX_N=111111;
int n,d;
using namespace std;
struct po
{
	int x,y;
	boo...
                            
                            
                                分类:
Web程序   时间:
2014-05-21 06:29:47   
                                阅读次数:
418