首先计算图的联通情况,如果图本身不联通一定不会出现生成树,输出"NO",之后清空,加白边,看最多能加多少条,清空,加黑边,看能加多少条,即可得白边的最大值与最小值,之后判断Fibonacci数是否在这两个之间,如果是输出yes,否则no。

然而,,然而,,我看的题解有问题!!!!!调了俩小时愣是没找出错误来,,然后把题解交了发现过不了,,,,真是够了。,。,。,

第二天上午终于A了,,满分程序:

 #include <cstdio>
#include <cstring>
#include <algorithm> struct data {
int x1;
int y1;
int z1;
};
const int maxn = + ;
int father[maxn];
int f[maxn];
data p[maxn];
int T;
int n, m; bool cmp(data aa, data bb) {
return (aa.z1 < bb.z1);
} int getfather(int x) {
if (father[x] == x) return x;
return (father[x] = getfather(father[x]));
} bool solve (void) {
int cur = n;
for (int i = ; i <= m; i++) {
int tx = getfather(p[i].x1);
int ty = getfather(p[i].y1);
if (tx != ty) {
father[tx] = ty;
cur--;
}
}
if (cur > ) return ;
return ;
} int main () {
f[] = ;
f[] = ;
for (int i = ; i <= ; i++) {
f[i] = f[i-] + f[i-];
}
scanf("%d", &T);
for (int kase = ; kase <= T; kase++) {
printf("Case #%d: ", kase);
scanf("%d %d", &n, &m);
for (int i = ; i <= n; i++) father[i] = i;
for (int i = ; i <= m; i++) scanf("%d %d %d", &p[i].x1, &p[i].y1, &p[i].z1);
std :: sort(p + , p + m + , cmp);
if (solve()) printf("No\n");
else {
for (int i = ; i <= n; i++) father[i] = i;
int smin = ;
for (int i = ; i <= m; i++) {
int tx = getfather(p[i].x1);
int ty = getfather(p[i].y1);
if (tx != ty) {
father[tx] = ty;
if (p[i].z1 == ) smin++;
}
}
int smax = ;
for (int i = ; i <= n; i++) father[i] = i;
for (int i = m; i >= ; i--) {
int tx = getfather(p[i].x1);
int ty = getfather(p[i].y1);
if (tx != ty) {
father[tx] = ty;
if (p[i].z1 == ) smax++;
}
}
bool flag = ;
for (int i = ; i <= ; i++)
if (smin <= f[i] && smax >= f[i]) {
flag = ;
break;
}
if (flag) printf("Yes\n");
else printf("No\n");
}
}
return ;
}

hdu 4786 Fibonacci Tree 乱搞 智商题目 最小生成树的更多相关文章

  1. HDU 4786 Fibonacci Tree(生成树,YY乱搞)

    http://acm.hdu.edu.cn/showproblem.php? pid=4786 Fibonacci Tree Time Limit: 4000/2000 MS (Java/Others ...

  2. hdu 4786 Fibonacci Tree (2013ACMICPC 成都站 F)

    http://acm.hdu.edu.cn/showproblem.php?pid=4786 Fibonacci Tree Time Limit: 4000/2000 MS (Java/Others) ...

  3. HDU 4786 Fibonacci Tree 最小生成树

    Fibonacci Tree 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=4786 Description Coach Pang is intere ...

  4. HDU 4786 Fibonacci Tree

    Fibonacci Tree Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) P ...

  5. HDU 4786 Fibonacci Tree (2013成都1006题)

    Fibonacci Tree Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  6. hdu 4786 Fibonacci Tree(最小生成树)

    Fibonacci Tree Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T ...

  7. hdoj 4786 Fibonacci Tree【并查集+最小生成树(kruskal算法)】

    Fibonacci Tree Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  8. 【HDU 4786 Fibonacci Tree】最小生成树

    一个由n个顶点m条边(可能有重边)构成的无向图(可能不连通),每条边的权值不是0就是1. 给出n.m和每条边的权值,问是否存在生成树,其边权值和为fibonacci数集合{1,2,3,5,8...}中 ...

  9. HDU 5167 Fibonacci 筛法+乱搞

    题目链接: hdu: http://acm.hdu.edu.cn/showproblem.php?pid=5167 题意: 给你一个x,判断x能不能由斐波那契数列中的数相乘得到(一个数可以重复使用) ...

随机推荐

  1. UVALive-8078 Bracket Sequence 简单dp

    题目链接:https://cn.vjudge.net/problem/UVALive-8078 题意 括号序列T是这样定义的: T是个空的 T是(T), {T}, 或者 [T] T是两个T组成的,比如 ...

  2. systemctl 控制单元

    [root@web01 ~]# systemctl status sshd.service ● sshd.service - OpenSSH server daemon Loaded: loaded ...

  3. 小学生都能学会的python(闭包和迭代器)

    小学生都能学会的python(闭包和迭代器) 1. 函数名第一类对象 函数名其实就是变量名 1). 可以像变量一样互相赋值. 2). 可以作为函数的参数,进行传递 3). 可以作为返回值返回 4). ...

  4. 关于@SuppressWarnings("unchecked")注解

    解释一: 屏蔽某些编译时的警告信息         在强制类型转换的时候编译器会给出警告        加上程序代码        @SuppressWarnings("unchecked& ...

  5. Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?

    Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 1.什么是Set?(what) Set是Collection容器的一个子接口,它不允许出现 ...

  6. 彻底理解tomcat是怎样多线程处理http请求并将代码执行到controller里的的

    彻底理解tomcat是怎样多线程处理http请求并将代码执行到controller里的的 1.线程池,thread = threadPool.getThread(),thread.executeHtt ...

  7. IOS假设将一个十六进制的color转换成UIColor,非常有用

    UI给开发的效果图非常多时候标注着十六进制的Color,而程序中用到的往往是UIColor能够用例如以下方法去转换: (UIColor *)RGBColorFromHexString:(NSStrin ...

  8. 从头认识java-15.3 使用HashSet须要注意的地方

    这一章节我们来讨论一下使用Set的各种实现须要注意的地方. Set接口的经常使用实现类有:HashSet.TreeSet,LinkedHashSet 1.HashSet 大家对于HashSet的印象都 ...

  9. zzulioj--1712--神秘的数列(水题)

    1712: 神密的数列 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 122  Solved: 92 SubmitStatusWeb Board De ...

  10. hdoj--2094--产生冠军(集合函数)

    产生冠军 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...