题目链接 题意:一些骑士,他们有些人之间有矛盾,现在要求选出一些骑士围成一圈,圈要满足如下条件:1.人数大于1.2.总人数为奇数.3.有仇恨的骑士不能挨着坐.问有几个骑士不能和任何人形成任何的圆圈. 分析:以骑士为借点建立无向图G,如果两个骑士可以相邻(即不相互憎恶)建立一条有向边,题目转化成求不在任意一个简单奇圈上(包含奇数个节点的回路)的节点个数, 对于每个双连通分量,看是否存在奇环,若存在那么这个双连通分量中的任意两骑士都可以同时出现在一个奇环里:训练指南P317解释, 双联通分量B中有一…
Time Limit: 7000MS   Memory Limit: 65536K Total Submissions: 13954   Accepted: 4673 Description Being a knight is a very attractive career: searching for the Holy Grail, saving damsels in distress, and drinking with the other knights are fun things t…
#include<cstdio> #include<cstring> #include<cmath> #include<cstdlib> #include<iostream> #include<algorithm> #include<vector> #include<map> #include<queue> #include<stack> #include<string> #…
圆桌会议必须满足:奇数个人参与,相邻的不能是敌人(敌人关系是无向边). 求无论如何都不能参加会议的骑士个数.只需求哪些骑士是可以参加的. 我们求原图的补图:只要不是敌人的两个人就连边. 在补图的一个奇圈里(由奇数个点组成的环)每个点都是可以参加的.而一个奇圈一定在点双连通分量里,所以我们把原图的每个点双连通分量找出来,然后判断是否有奇圈.用到了几个引理: 非二分图至少有一个奇圈. 点双连通分量如果有奇圈,那么每个点都在某个奇圈里(不一定是同一个). 于是问题转化为对每个点双连通分量,判断它是不是…
做这题简直是一种折磨... 有n个骑士,骑士之间相互憎恨.给出骑士的相互憎恨的关系. 骑士要去开会,围成一圈坐,相互憎恨的骑士不能相邻.开会骑士的个数不能小于三个人.求有多少个骑士不能开会. 注意:会议可以开无数次,也就是说一个骑士其实是可以开多次会议的,所以一共可以开会的人也未必是奇数. 求出相互并不憎恨的骑士的关系图,也就是相连的骑士可以挨着.这样如果有一个奇数圈就可以确定一圈的人全部可以参加会议. 性质:如果一个双连通分量内的某些顶点在一个奇圈中(即双连通分量含有奇圈),那么这个双连通分量…
题意:多个骑士要开会,3人及以上才能凑一桌,其中部分人已经互相讨厌,肯定不坐在同一桌的相邻位置,而且一桌只能奇数个人才能开台.给出多个人的互相讨厌图,要求多少人开不成会(注:会议不要求同时进行,一个人开多个会不冲突)? 分析: 给的是互相讨厌的图,那么转成互相喜欢的吧,扫一遍,如果不互相讨厌就认为互相喜欢,矩阵转邻接表先. 有边相连的两个点代表能坐在一块.那么找出一个圈圈出来,在该圈内的点有奇数个人的话肯定能凑成1桌.圈圈?那就是简单环了,跟点双连通分量的定义好像一样:每个点都能同时处于1个及以…
题目大概说要让n个骑士坐成一圈,这一圈的人数要是奇数且大于2,此外有些骑士之间有仇恨不能坐在一起,问有多少个骑士不能入座. 双连通图上任意两点间都有两条不重复点的路径,即一个环.那么,把骑士看做点,相互不仇恨的骑士间连边,能坐在一圈骑士的肯定在同一个点双连通分量上. 不过还有个条件是人数要大于2: 有这么一个结论:如果一个双连通分量存在奇圈(点数为奇数的环),那么这个双连通分量里所有点一定会包含在某一个奇圈内. 大概是因为,双连通分量里面点为奇数个显然都包含在奇圈里:而如果是偶数个,一部分就包含…
Being a knight is a very attractive career: searching for the Holy Grail, saving damsels in distress, anddrinking with the other knights are fun things to do. Therefore, it is not very surprising that in recentyears the kingdom of King Arthur has exp…
题目链接 大意 给定\(N\)个点与\(M\)个关系,每个关系表示某两个点间没有直接的边相连,求不在所有奇环上的点的个数. (\(1\le N\le 1e3,1\le M\le 1e6\)) 思路 考虑到\(N\)比较小的缘故,我们不妨暴力连边. 对于现在得到的一个图,我们需要找出所有在奇环上的点. 考虑使用点双联通分量对图进行缩点,对于每个点双分量,暴力的去判断它是否是二分图. ①如果是二分图,那么显然无奇环,对该点双上的点不做修改. ②如果不是二分图,那么对于这个点双联通分量,一定会有一个奇…
尤其是不要谈了些什么,我想A这个问题! FML啊.....! 题意来自 kuangbin: 亚瑟王要在圆桌上召开骑士会议.为了不引发骑士之间的冲突. 而且可以让会议的议题有令人惬意的结果,每次开会前都必须对出席会议的骑士有例如以下要求: 1.  相互憎恨的两个骑士不能坐在直接相邻的2个位置: 2.  出席会议的骑士数必须是奇数,这是为了让投票表决议题时都能有结果.   注意:1.所给出的憎恨关系一定是双向的.不存在单向憎恨关系. 2.因为是圆桌会议.则每一个出席的骑士身边必然刚好有2个骑士. 即…