B 可以二分相遇的坐标;也可以二分时间,判断是否存在两个人的区间没有交。
An easy way to intersect a number of segments [l1,?r1], ..., [ln,?rn] is to compute L?=?max li and R?=?min ri.
If L?≤?R, then [L,?R] is the intersection, otherwise, the intersection is empty.
C dfs
D 乱搞+思维
每个队名字非A即B
1.首先把那些A重复的队找出来,它们都只能选B为名字
2.剩下的队A名字不重复,如果与已选的B重名,也只能选B,一直循环地做下去
3.直到终止,剩下没有考虑过的队都可以选A
4.最后再判一判是否有重复的队名(B中,不必考虑A) //当然也可以每次把一个队名字印点为B时判重,若曾出现过,return "NO";
若一开始A都互不相同,则全部A。
如果没有额外的条件,可能只能由2-SAT了
E 我是先弄出一棵生成树,dfs一下得到欧拉序列,保证点数=2n-1
原文:http://www.cnblogs.com/supy/p/6933047.html