HDU 4786 Fibonacci Tree (2013成都1006题) 最小生成树+斐波那契
题意:问生成树里能不能有符合菲波那切数的白边数量
思路:白边 黑边各优先排序求最小生成树,并统计白边在两种情况下数目,最后判断这个区间就可以。注意最初不连通就不行。
#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题) 最小生成树+斐波那契的更多相关文章
- hdu 4786 Fibonacci Tree (2013ACMICPC 成都站 F)
http://acm.hdu.edu.cn/showproblem.php?pid=4786 Fibonacci Tree Time Limit: 4000/2000 MS (Java/Others) ...
- HDU 3117 Fibonacci Numbers(围绕四个租赁斐波那契,通过计++乘坐高速动力矩阵)
HDU 3117 Fibonacci Numbers(斐波那契前后四位,打表+取对+矩阵高速幂) ACM 题目地址:HDU 3117 Fibonacci Numbers 题意: 求第n个斐波那契数的 ...
- hdu 2044:一只小蜜蜂...(水题,斐波那契数列)
一只小蜜蜂... Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others) Total Submission(s): Accepte ...
- hdu 4786 Fibonacci Tree 乱搞 智商题目 最小生成树
首先计算图的联通情况,如果图本身不联通一定不会出现生成树,输出"NO",之后清空,加白边,看最多能加多少条,清空,加黑边,看能加多少条,即可得白边的最大值与最小值,之后判断Fibo ...
- HDU 4786 Fibonacci Tree (2013成都1006题)
Fibonacci Tree Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- HDU 4786 Fibonacci Tree(生成树,YY乱搞)
http://acm.hdu.edu.cn/showproblem.php? pid=4786 Fibonacci Tree Time Limit: 4000/2000 MS (Java/Others ...
- hdu 4786 Fibonacci Tree(最小生成树)
Fibonacci Tree Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...
- HDU 4786 Fibonacci Tree 生成树
链接:http://acm.hdu.edu.cn/showproblem.php?pid=4786 题意:有N个节点(1 <= N <= 10^5),M条边(0 <= M <= ...
- Project Euler 104:Pandigital Fibonacci ends 两端为全数字的斐波那契数
Pandigital Fibonacci ends The Fibonacci sequence is defined by the recurrence relation: F[n] = F[n-1 ...
- 《剑指offer》第十题(斐波那契数列)
// 面试题:斐波那契数列 // 题目:写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项. #include <iostream> using namespace std; ...
随机推荐
- 九度OJ 1124 Digital Roots -- 数位拆解
题目地址:http://ac.jobdu.com/problem.php?pid=1124 题目描述: The digital root of a positive integer is found ...
- Github进行项目管理的常用命令总结
最近项目中使用github来管理代码,将git的常用命令整理了一下,方便以后查询 查看git的本地配置git config --list 克隆到本地git clone (网页上面的那个http地址 g ...
- Ubuntu下gcc及g++环境配置
直接在命令行中输入以下命令即可. sudo apt-get install build-essential 安装完成后输入 gcc 和 g++ 进行确认.
- 易买网(注册Ajax讲解)
关于注册(用到Ajax) 运用onblur进行时时刷新 创建所需用的Servlet 好了 Ajax其实不是很难 如果还是不懂可以私信我呦-^^-!
- SQL Trigger(触发器)
1.触发器对表进行插入.更新.删除的时候会自动执行的特殊存储过程. 2.触发器一般用在check约束更加复杂的约束上面. 3.触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作. 4.upd ...
- mysql 事务类型表的用法
mysql关联表(references)的条件:1.两个表必须是 InnoDB表类型2.使用在外键关系的域必须为索引型(Index)3.使用外键关系的域必须与数据类型相似 以下是父表和子表的例子:创建 ...
- yii2源码学习笔记(十四)
Module类是模块和应用类的基类. yiisoft\yii2\base\Module.php <?php /** * @link http://www.yiiframework.com/ * ...
- PHP5.5安装php-redis扩展
windows下开发用的xampp集成的环境,想装个php-redis扩展,扩展的github地址: https://github.com/nicolasff/phpredis 描述里找到window ...
- 安装Oracle 11gR2,报错:[INS-06101] IP address of localhost could not be determined
安装Oracle 11gR2,报错:[INS-06101] IP address of localhost could not be determined 出现这种错误是因为主机名和/etc/host ...
- MVC引用CSS文件の正确姿势
你的css文件目录结构: 将路径写入BundleConfig规则中: using System.Web; using System.Web.Optimization; namespace XXXX { ...