并查集分组,deg必需为2才是circle
#include<iostream> #include<cstdio> using namespace std; const int maxn=100000+10; int p[maxn],r[maxn],deg[maxn]; bool is_circle[maxn]; void init(int n) { memset(p,-1,n<<2); memset(r,0,n<<2); memset(deg,0,n<<2); } int find(int x) { int px=x,tmp; while(p[px]!=-1) px=p[px]; while(x!=px) { tmp=p[x]; p[x]=px; x=tmp; } return px; } void unio(int x,int y) { x=find(x),y=find(y); if(x==y) return; if(r[x]>r[y]) { p[y]=x;return; } else { p[x]=y;if(r[x]==r[y]) r[y]++; return; } } int main() { int n,m; while(cin>>n>>m) { if(n==0&&m==0) return 0; init(n); int x,y; int a=0,b=0; for(int i=0;i<m;i++) { scanf("%d%d",&x,&y); unio(x,y); deg[x]++,deg[y]++; } for(int i=0;i<n;i++) if(p[i]==-1) { a++; is_circle[i]=deg[i]==2; } for(int i=0;i<n;i++) find(i); for(int i=0;i<n;i++) if(p[i]!=-1&°[i]!=2) is_circle[p[i]]=false; for(int i=0;i<n;i++) if(p[i]==-1&&is_circle[i]==true) b++; cout<<a<<' '<<b<<endl; } }
您还没有登录,请您登录后再发表评论
杭电ACM课件2014版之 (HDUACM201403版_06)并查集(最小生成树)
(HDUACM2010版_06)并查集(最小生成树(HDUACM2010版_06)并查集(最小生成树(HDUACM2010版_06)并查集(最小生成树(HDUACM2010版_06)并查集(最小生成树
3. (HDUACM2010版_06)并查集(最小生成树).ppt:这是一个PPT文件,可能详细介绍了如何使用并查集来求解最小生成树的问题,包括理论知识、算法流程和示例解析。 4. hdoj1829二分图识别的并查集.txt:二分图是图论...
【并查集详解】 并查集(Disjoint Set)是一种数据结构,用于高效处理不相交集合的合并和查询操作。在算法竞赛中,它常用于解决如连通子图、最小生成树(如Kruskal算法)以及最近公共祖先(LCA)等问题。其核心思想...
使用并查集+贪心:先将已有边的权值从大到小排序,又n个点只需n-1条边,这时再遍历一遍,将有边的两点合并为一个队伍,当边的数量达到n-1时退出循环,因为此时已达到最小生成树。 边的权值由大到小排序是因为要将大...
HDU(杭州电子科技大学在线评测系统)是一个深受程序员喜爱的在线编程练习平台,它提供了丰富的算法题目供用户挑战,帮助他们提升编程技能和算法理解能力。"hdu.rar_hdu"这个压缩包文件很可能是某位程序员整理的他在...
acm 技术大牛 课件 HDU 自学必备课件 全套齐全 (lecture_01)初识ACM (lecture_02)简单数学题 (lecture_03)递推求解 (lecture_04)动态规划(1)_ (lecture_05)计算几何基础_ (lecture_06)母函数 ...并查集
"hdu"可能是指杭州电子科技大学(Hangzhou Dianzi University),这所学校经常举办ACM编程竞赛,并有自己的在线判题系统——HDU Online Judge,供参赛者提交代码并测试解决方案。 【压缩包子文件的文件名称列表】中...
【标题】"HDU题目java实现"所涉及的知识点主要集中在使用Java编程语言解决杭州电子科技大学(HDU)在线评测系统中的算法问题。HDU是一个知名的在线编程竞赛平台,它提供了大量的算法题目供参赛者练习和提交解决方案...
scanf("%s", graph + i); } for (i = 0; i ; i++) { for (j = 0; j ; j++) { if (graph[i][j] == '@') { sum++; // 统计岛屿数量 dfs(i, j); // 对岛屿进行搜索 } } } printf("%d\n", sum); } return 0...
ACM HDU 题目分类 ACM HDU 题目分类是指对 HDU 在线判题系统中题目的分类,总结了大约十来个分类。这些分类将有助于编程选手更好地理解和解决问题。 DP 问题 DP(Dynamic Programming,动态规划)是一种非常重要...
本题(hdu1250)主要考察的就是如何通过编程实现高精度加法,并解决一个特定的数学问题。 #### 题目解析 根据题目描述,该题目编号为HDU1250,其核心在于利用高精度加法解决问题。具体地,题目涉及到了斐波那契数列...
总的来说,"HDU DP动态规划"是一个关于使用动态规划解决HDU平台上某一题目的主题,它要求掌握动态规划的基本概念、方法,并能灵活应用到实际问题中,同时可能涉及到文件交互和调试,以完成问题的求解。
【标题】"hdu.rar_HDU 1089.cpp_OJ题求和_hdu_horsekw5_杭电obj" 提供的信息是关于一个压缩文件,其中包含了一个名为 "HDU 1089.cpp" 的源代码文件,这个文件是为了解决杭州电子科技大学(Hangzhou Dianzi ...
HDU1059的代码
hdu1001解题报告
hdu 1574 passed sorce
一、内容 TT and FF are ... friends. Uh... very very good friends -________-b FF is a bad boy, he is always wooing TT to play the following game with him. This is a very humdrum game....
相关推荐
杭电ACM课件2014版之 (HDUACM201403版_06)并查集(最小生成树)
(HDUACM2010版_06)并查集(最小生成树(HDUACM2010版_06)并查集(最小生成树(HDUACM2010版_06)并查集(最小生成树(HDUACM2010版_06)并查集(最小生成树
3. (HDUACM2010版_06)并查集(最小生成树).ppt:这是一个PPT文件,可能详细介绍了如何使用并查集来求解最小生成树的问题,包括理论知识、算法流程和示例解析。 4. hdoj1829二分图识别的并查集.txt:二分图是图论...
【并查集详解】 并查集(Disjoint Set)是一种数据结构,用于高效处理不相交集合的合并和查询操作。在算法竞赛中,它常用于解决如连通子图、最小生成树(如Kruskal算法)以及最近公共祖先(LCA)等问题。其核心思想...
使用并查集+贪心:先将已有边的权值从大到小排序,又n个点只需n-1条边,这时再遍历一遍,将有边的两点合并为一个队伍,当边的数量达到n-1时退出循环,因为此时已达到最小生成树。 边的权值由大到小排序是因为要将大...
HDU(杭州电子科技大学在线评测系统)是一个深受程序员喜爱的在线编程练习平台,它提供了丰富的算法题目供用户挑战,帮助他们提升编程技能和算法理解能力。"hdu.rar_hdu"这个压缩包文件很可能是某位程序员整理的他在...
acm 技术大牛 课件 HDU 自学必备课件 全套齐全 (lecture_01)初识ACM (lecture_02)简单数学题 (lecture_03)递推求解 (lecture_04)动态规划(1)_ (lecture_05)计算几何基础_ (lecture_06)母函数 ...并查集
"hdu"可能是指杭州电子科技大学(Hangzhou Dianzi University),这所学校经常举办ACM编程竞赛,并有自己的在线判题系统——HDU Online Judge,供参赛者提交代码并测试解决方案。 【压缩包子文件的文件名称列表】中...
【标题】"HDU题目java实现"所涉及的知识点主要集中在使用Java编程语言解决杭州电子科技大学(HDU)在线评测系统中的算法问题。HDU是一个知名的在线编程竞赛平台,它提供了大量的算法题目供参赛者练习和提交解决方案...
scanf("%s", graph + i); } for (i = 0; i ; i++) { for (j = 0; j ; j++) { if (graph[i][j] == '@') { sum++; // 统计岛屿数量 dfs(i, j); // 对岛屿进行搜索 } } } printf("%d\n", sum); } return 0...
ACM HDU 题目分类 ACM HDU 题目分类是指对 HDU 在线判题系统中题目的分类,总结了大约十来个分类。这些分类将有助于编程选手更好地理解和解决问题。 DP 问题 DP(Dynamic Programming,动态规划)是一种非常重要...
本题(hdu1250)主要考察的就是如何通过编程实现高精度加法,并解决一个特定的数学问题。 #### 题目解析 根据题目描述,该题目编号为HDU1250,其核心在于利用高精度加法解决问题。具体地,题目涉及到了斐波那契数列...
总的来说,"HDU DP动态规划"是一个关于使用动态规划解决HDU平台上某一题目的主题,它要求掌握动态规划的基本概念、方法,并能灵活应用到实际问题中,同时可能涉及到文件交互和调试,以完成问题的求解。
【标题】"hdu.rar_HDU 1089.cpp_OJ题求和_hdu_horsekw5_杭电obj" 提供的信息是关于一个压缩文件,其中包含了一个名为 "HDU 1089.cpp" 的源代码文件,这个文件是为了解决杭州电子科技大学(Hangzhou Dianzi ...
HDU1059的代码
hdu1001解题报告
hdu 1574 passed sorce
一、内容 TT and FF are ... friends. Uh... very very good friends -________-b FF is a bad boy, he is always wooing TT to play the following game with him. This is a very humdrum game....