题意:问生成树里能不能有符合菲波那切数的白边数量

思路:白边 黑边各优先排序求最小生成树,并统计白边在两种情况下数目,最后判断这个区间就可以。注意最初不连通就不行。

 #include <stdio.h>
#include <algorithm>
#include <string.h>
#include<cmath>
#define LL long long
using namespace std;
int t,n,m;
int tot;
int F[];
struct node {
int u,v,c;
} edge[];
int f[];
void init() {
f[]=;
f[]=;
tot=;
while(f[tot]<=) {
f[tot+]=f[tot]+f[tot-];
tot++;
}
} int findd(int x) {
if(F[x]==-) return x;
else return F[x]=findd(F[x]);
}
bool cmp1(node a,node b) {
return a.c<b.c;
}
bool cmp2(node a,node b) {
return a.c>b.c;
}
int main() {
scanf("%d",&t);
int cas=;
init();
while(t--) {
scanf("%d%d",&n,&m);
cas++;
for(int i=; i<m; i++) {
scanf("%d%d%d",&edge[i].u,&edge[i].v,&edge[i].c);
}
sort(edge,edge+m,cmp1);
memset(F,-,sizeof(F));
int cnt=;
for(int i=; i<m; i++) {
int x=findd(edge[i].u);
int y=findd(edge[i].v);
if(x!=y) {
F[x]=y;
if(edge[i].c==)
cnt++;
}
}
int low=cnt;
cnt=;
memset(F,-,sizeof(F));
sort(edge,edge+m,cmp2);
for(int i=; i<m; i++) {
int x=findd(edge[i].u);
int y=findd(edge[i].v);
if(x!=y) {
F[x]=y;
if(edge[i].c==)
cnt++;
}
}
int high=cnt;
int flag=;
for(int i=; i<=n; i++) {
if(findd()!=findd(i)) {
flag=;
break;
}
}
if(flag) {
printf("Case #%d: No\n",cas);
continue;
}
flag = false;
for(int i = ; i <= tot; i++)
if(f[i] >= low && f[i] <= high)
flag = true;
if(flag)
printf("Case #%d: Yes\n",cas);
else printf("Case #%d: No\n",cas); }
return ;
}

HDU 4786 Fibonacci Tree (2013成都1006题) 最小生成树+斐波那契的更多相关文章

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

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

  2. HDU 3117 Fibonacci Numbers(围绕四个租赁斐波那契,通过计++乘坐高速动力矩阵)

    HDU 3117 Fibonacci Numbers(斐波那契前后四位,打表+取对+矩阵高速幂) ACM 题目地址:HDU 3117 Fibonacci Numbers 题意:  求第n个斐波那契数的 ...

  3. hdu 2044:一只小蜜蜂...(水题,斐波那契数列)

    一只小蜜蜂... Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others) Total Submission(s): Accepte ...

  4. hdu 4786 Fibonacci Tree 乱搞 智商题目 最小生成树

    首先计算图的联通情况,如果图本身不联通一定不会出现生成树,输出"NO",之后清空,加白边,看最多能加多少条,清空,加黑边,看能加多少条,即可得白边的最大值与最小值,之后判断Fibo ...

  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(生成树,YY乱搞)

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

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

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

  8. HDU 4786 Fibonacci Tree 生成树

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=4786 题意:有N个节点(1 <= N <= 10^5),M条边(0 <= M <= ...

  9. Project Euler 104:Pandigital Fibonacci ends 两端为全数字的斐波那契数

    Pandigital Fibonacci ends The Fibonacci sequence is defined by the recurrence relation: F[n] = F[n-1 ...

  10. 《剑指offer》第十题(斐波那契数列)

    // 面试题:斐波那契数列 // 题目:写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项. #include <iostream> using namespace std; ...

随机推荐

  1. sass中常用mixin

    //设置字体大小 @mixin font($s:14px,$h:1.5,$f:microsoft yahei){ font:$s/#{$h} $f; } //参数(方向,大小,颜色),默认:向下,10 ...

  2. 下载APP 2个二维码合并到一个二维码

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  3. SimpleXML解析xml文件

    SimpleXML 扩展提供了一种获取 XML 元素的名称和文本的简单方式. 与 DOM 或 Expat 解析器相比,SimpleXML 仅仅用几行代码就可以从 XML 元素中读取文本数据. Simp ...

  4. session阻塞机制,解决方法

    session从生成到读取,或从生成到写入都出现锁定的情况. 1.session_start();session_commit(); 2.session_start();session_write_c ...

  5. 使用South时候由于两个相同id的文件引起的问题

    由于之前版本控制的一个小失误, 在主分子上面调用python manage.py makemigrations生成了 0058_auto__add_unique_setting_name_value. ...

  6. contos vsftp 530错误

    只需要把/etc/pam.d/vsftpd文件中的 auth       required    pam_listfile.so item=user sense=deny file=/etc/vsft ...

  7. Install SharePoint 2013 on Windows Server 2012 without a domain

    Any setup of Team Foundation Server is not complete until you have at least tried t work with ShareP ...

  8. iphone 屏幕投射到Mac上

    在实际的工作中,我们往往需要演示iPhone上面的程序,但是由于手机屏幕太小,无法同时给很多人看,这时候就需要进行屏幕投射.目前我需要实现的是投射到Mac上.我使用有线USB和无线Airplay两种方 ...

  9. web 文件上传 无刷新的方法 使用iframe

    <html> <script type="text/javascript" src="admin/view/js/jquery.min.js" ...

  10. VC下载文件 + 显示进度条

    在codeproject里找了许久,发现这样一个VC下载文件并显示进度条的源码,于是添加了些中文注释: 1.下载线程函数: UINT DownloadFile(LPVOID pParam) { CWn ...