ZOJ 1015 Fishing Net(弦图判定)】的更多相关文章

1242: Zju1015 Fishing Net弦图判定 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 214  Solved: 81[Submit][Status][Discuss] Description 在 一个高度信息化的渔村,鱼网的制作和修补都是由电脑完成.众所周知,鱼网是由网组成的(废话),网组成的东西叫网眼.如果网眼够小,就能捕到很多鱼:如果 网眼太大,鱼就会全部漏走.每次捕鱼回来,鱼网都会烂得很厉害,小网眼会变成网眼,那鱼网就需…
弦图判定..MCS算法. 先选一个点,然后每次拿 相邻已选点最多 的未选点. 选完之后判断一下是否是完美消除序列. #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #define ll long long using namespace std; ; ];]; bool con[maxn][maxn],u[maxn]; int st[maxn],top,dl[…
●赘述题目 给出一张弦图,求其最小染色数. ●题解 网上的唯一“文献”:<弦图与区间图>(cdq),可以学习学习.(有的看不懂) 摘录几个解决改题所需的知识点: ●子图和诱导子图(一定要弄清楚) 子图:对于一个图G=(V,E) ,满足V'⊆V且E'⊆E的G’=(V',E')称为图G的子图 诱导子图:对于一个图G=(V,E),满足V'⊆V且E'=(所有(u,v)|u⊆V',v⊆V')的G'=(V',E')称为图G诱导子图 ●团 若图G=(V,E)的一个子图G'=(V',E')是V'的完全图,则该…
In a highly modernized fishing village, inhabitants there make a living on fishery. Their major tools, fishing nets, are produced and fixed by computer. After catching fishes each time, together with plenty of fishes, they will bring back the shabby…
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=15 题意:给定一个图.判断是不是弦图? 思路:(1)神马是弦图?对于一个无向图,若该图的任意一个长度大于3的环中存在一条边连接这个环上不相邻的两点,则此图称作弦图. (2)什么是团?团是原图的一个子图,子图就是包含了原图的某些点,那么就要包含这些点之间的边.并且团不是一般的子图而是一个完全子图,就是这个子图的任意两个顶点之间都有边.下面的ABCD就是原图的一个团. (…
一些定义: 弦图是一种特殊图:它的所有极小环都只有3个顶点. 单纯点:该顶点与其邻接点在原图中的导出子图是一个完全图. 图G的完美消去序列:一个顶点序列a1a2a3...an,使得对于每个元素ai,ai在ai.ai+1.ai+2...an的导出子图中是一个单纯点. 弦图有一个性质:任何一个弦图都至少存在一个单纯点(该点和其邻接点组成一个完全图) 弦图另一个性质:一个图是弦图当且仅当其存在完美消去序列.(归纳证明) 最大势算法(msc):若原图是弦图,则该算法计算出的序列是完美消去序列. 算法大致…
题目大意: 给定一张无向图,判断是不是弦图. 题解: 今天刚学了<弦图与区间图> 本来写了一个60行+的学习笔记 结果因为忘了保存重启电脑后被还原了... 那就算了吧. MCS最大势算法,写起来挺愉悦的. 不过觉得除了做裸题就只能做裸题了.. 直接贴板子 #include <vector> #include <cstdio> #include <cstring> #include <algorithm> using namespace std;…
cdqppt地址:https://wenku.baidu.com/view/a2bf4ad9ad51f01dc281f1df.html: 代码实现参考的http://blog.csdn.net/u014609452/article/details/51447533: 这个代码实现还是很妙的,为了快速找到label值最大的节点,新建虚拟节点n+1+i,连向所有label等于i的点: #include<iostream> #include<cmath> #include<cstr…
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1015 题意:给出一个n个点的无向图,询问是否为弦图,弦图定义为对于图中任意长度>3的环一定存在环上不相邻的点有边相连(n<=1000) #include <bits/stdc++.h> using namespace std; const int N=1005; int n, m, ihead[N], cnt, tag[N], pos[N]; bool vi…
题意:裸的弦图的判定: 弦图定义:给出一个无向连通图,如果每个环中都存在至少一条弦(环中存在不相邻的两点直接相连)这样的图叫做弦图: 转载:http://blog.csdn.net/crux_d/article/details/2251963 以下是时间复杂度为O(n+m)的算法,n是图的点数,m是图的边数.  第一步:给节点编号  设已编号的节点集合为A,未编号的节点集合为B  开始时A为空,B包含所有节点.  for num=n-1 downto 0 do  {  在B中找节点x,使与x相邻…