HDU 4786 Fibonacci Tree(2013亚洲区成都站现场赛)
来源:互联网 发布:好日子 韩国网络剧 编辑:程序博客网 时间:2024/05/15 07:38
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=4786
#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<algorithm>#include<queue>#include<stack>#include<vector>#include<map>#include<set>#include<list>#define mem(x,y)memset(x,y,sizeof(x))#define max(a,b)(a)>(b)?(a):(b)#define min(a,b)(a)<(b)?(a):(b)#define eps 1e-10#define M 100000007#define INF 0x1f1f1f1fusing namespace std;typedef long long int LL;typedef __int64 ll;const int maxn=100005;int a[maxn];int f[maxn];int vis[200000];int n,m;struct node{ int u,v; int c;};node q[maxn];int cmp1(node x1,node y1){ return x1.c<y1.c;}int cmp2(node x1,node y1){ return x1.c>y1.c;}void init(){ int i; for(i=0;i<=n;i++) { f[i]=i; }}int Find(int x){ if(x!=f[x]) { f[x]=Find(f[x]); } return f[x];}int kru1(){ init(); int ans=0,s=0; int sum=0; int i,j; for(i=0;i<m;i++) { int xx=Find(q[i].u); int yy=Find(q[i].v); if(xx==yy) { continue; } ans=q[i].c; sum++; s+=ans; f[yy]=xx; if(sum==n-1)break; } //printf() if(sum<n-1)return -1; else return s;}int kru2(){ init(); int ans=0,s=0,sum=0; int i,j; for(i=m-1;i>=0;i--) { int xx=Find(q[i].u); int yy=Find(q[i].v); if(xx==yy) { continue; } ans=q[i].c; sum++; s+=ans; f[yy]=xx; if(sum==n-1)break; } if(sum<n-1)return -1; else return s;}int main(){ int T,i,j; int num=1; mem(vis,0); a[0]=1; a[1]=2; vis[1]=1; vis[2]=1; for(i=2;i<=25;i++) { a[i]=a[i-1]+a[i-2]; vis[a[i]]=1; } scanf("%d",&T); while(T--) { int x,y,z; scanf("%d %d",&n,&m); for(i=0;i<m;i++) { scanf("%d %d %d",&q[i].u,&q[i].v,&q[i].c); } sort(q,q+m,cmp1); int minprime=kru1(); int maxprime=kru2(); int flag=0; for(i=minprime;i<=maxprime;i++) { if(vis[i]) { flag=1; break; } } printf("Case #%d: ",num++); if(flag) { printf("Yes\n"); } else { printf("No\n"); } } return 0;}
0 0
- HDU 4786 Fibonacci Tree(2013亚洲区成都站现场赛)
- hdu 4786 Fibonacci Tree(2013年亚洲区域赛成都赛区 1006)
- HDU 4781 Assignment For Princess(2013亚洲区成都站现场赛)
- HDU 4788 Hard Disk Drive(2013亚洲区成都站现场赛)
- hdu 4786 Fibonacci Tree (2013ACMICPC 成都站 F)
- 2013ACM/ICPC亚洲区成都站现场赛——题目重现
- HDU 4786 Fibonacci Tree (2013ACMICPC 成都站 F) 并查集
- HDU 4786 Fibonacci Tree 最小生成树 + 最大生成树 (2013成都区域赛 F题)
- 2013ACM/ICPC亚洲区南京站现场赛 HDU 4802 && HDU 4803 && HDU 4811 && HDU 4812
- 2013 亚洲区域赛成都站
- 2013 ACM-ICPC 亚洲区域赛 成都现场赛I 解题报告
- 2013 ACM-ICPC 亚洲区域赛 成都现场赛E (Exhausted Robot)
- 2013ACM/ICPC亚洲区南京站现场赛
- HDU 5120 Intersection(2014亚洲区北京站现场赛)
- HDU 4810 Wall Painting(组合数学 + 位运算)——2013ACM/ICPC亚洲区南京站现场赛
- 2013ACM/ICPC亚洲区南京站现场赛——题目重现 (HDU 4810) 二进制思想
- hdu 5510 Bazinga 2015ACM/ICPC亚洲区沈阳站现场赛
- HDU 5510 Bazinga(2015亚洲区沈阳站现场赛)
- JavaScript:将key名不带双引号的JSON字符串转换成JSON对象的方法
- 第五周项目一(9)斐波那契数列
- msp430内置函数总结 __bic_SR_register(),__delay_cycles(x)
- 2016弱校联盟十一专场10.5(12点场) Increasing or Decreasing bnu 52325
- syntax error: bad substitution是什么问题
- HDU 4786 Fibonacci Tree(2013亚洲区成都站现场赛)
- NAS
- Java中的ReentrantLock
- 连号区间数
- Java发送邮件javax.mail
- 推荐系统之UserCF1:用户相似度
- HDU 4788 Hard Disk Drive(2013亚洲区成都站现场赛)
- typedef与define的用法区别
- 彤姐的程序篇(二)