时间限制:2000ms
单点时限:1000ms
内存限制:256MB
描述
给定2个树A和B,保证A的节点个数>=B的节点个数。
现在你需要对树A的边进行二染色。
一个好的染色方案,指不存在一个树A中的连通块,同时满足以下2个条件
1. 其中只有同色的边
2. 和B同构。两个树同构是指,存在一个一一映射(既是单射又是满射),将树B的各节点映射到不同的树A的节点,使得原来在树B中相邻的点,在映射后,仍相邻。
问是否存在一种好的染色方案。
输入
第一行一个整数T (1<=T<=10),表示数据组数。
接下来是T组输入数据,测试数据之间没有空行。
每组数据格式如下:
第一行一个整数N ,表示树A的节点总数。
接下来N-1行,每行2个数a, b (1 <= a, b <= N)表示树A的节点a和b之间有一条边。
接下来一行,一个整数M(1 <= M <= N),表示树B的节点总数。
接下来M-1行,每行2个数a, b (1 <= a, b <= M)表示树B的节点a和b之间有一条边。
输出
对每组数据,先输出“Case x:”,x表示是第几组数据,然后接“YES”/“NO”,表示是否存在所求的染色方案。
数据范围
小数据:1 <= N <= 20
大数据:1 <= N <= 1000000
样例解释
无论如何染色,只要从A中挑一条边就行了。
样例输入
1
3
1 2
2 3
2
1 2
样例输出
Case 1: NO
唉,第一题这么简单,居然没想出来。差距有点大啊。
染色的方法是按层次交替染色,则对于b树大于一层时,必定是没有同构且同色的连通块。所以只需要考虑只有一层的时候的情况。当只有一层b数上有y条边,则若a数上有节点的子节点数大于等于 2y-1时,就会有相同颜色的连通块了。
#include <iostream>
using namespace std;
int ap[1001000],bp;
int main(){
int T,N,M ,l,n,p,q, t = 1;
cin>>T;
while(T --){
n = 0;
cin >>N ;
l = 0;
while(--N){
cin>>p>>q;
if(p != l){
ap[++n] = 0;
l = p;
}
ap[n]++;
}
cin>>M;
bp = 0;
while (--M)
{
cin>>p>>q;
if(p == 1)
bp ++;
else
l = -1;//l为-1时,则表示其为一层
}
printf("Case %d:",t++);
if( l == -1)
cout<<"Yes\n"<<endl;
else{
for(l = 0;l<n;l++){
if(ap[l] >= 2*bp-1){
l = -1;break;
}
}
if(l == -1)cout<<"No\n"<<endl;
else cout<<"Yes\n"<<endl;
}
}
return 0;
}
分享到:
相关推荐
同构数是这样一种数:它出现在它的平方数的右端。例如:5的平方是25,5就是同构数,25的平方是625,25也是构数。找出1~N之间(包括N)的全部同构数。 输入 正整数N,N。 输出 1~N之间的全部同构数,从小到大排列,用...
1同构数.py
VB 求“同构”数 VB 求“同构”数 VB 求“同构”数
用代数方法 判定图论同构的充分必要条件
《同构 - 编程中的数学》,有提供中英文两种版本 pdf格式。
树的同构.rar树的同构.rar树的同构.rar
C语言程序设计-判断整数x是否是同构数;若是同构数,函数返回1;否则返回0;x的值由主函数从键盘读入,要求不大于100;说明:所谓“同构数”是指这样的数,这个数出现在它的平方数的右边;例如:输入整数5,5的平方数是...
基于有限p-群后代树的一般理论和共类子树的分支之间的虚拟周期性同构,用简单的变换定律描述了树的顶点及其自同构群的代数不变量的行为。 对于具有基本双环换向子商的有限3群树,每个具有metabelian主线的共类子树的...
这个算法用来判定一个无向图与另一个无向图是否同构,里面附有可以直接运行的java代码,
一个VB程序,为那些不太懂得人而做。求一个同构数,界面已经设计好啦!
线性同构与线性空间讲义 讲述了线性空间下的span与isomorphic的关系 包含了许多证明题 是高等代数不错的参看资料
分治法求二叉树的同构问题 数据结构与算法 算法描述
奇数 素数 同构数等五个 C语言 源程序
为了找出随采掘进行而开挖的高联巷道因风流不稳定导致危险性较高的区域,提出了一种基于子图同构的煤矿高风险区域自动识别方法。分析了典型高危区域的拓扑结构特性,构建了高风险区域的等效图模型;实现了通风系统的...
对ReactJS同构直出方案的探索,结合了Koa2 react react redux antd等相关技术的实验DEMO
附录3——同构新天地,放缩大舞台.pdf
群与同构计数讲义.pdf
linux-用于制作同构http请求的React钩子
图同构的判定研究,陈新泉,,图论中的图同构判定问题仍是一个未完全解决的重要的理论问题,本文从图的邻接矩阵的行、列置换出发,得到能加快判定两个图是否同