翠竹叶飞
Hello the cruel world.

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

posted on 2017-06-02 14:08  翠竹叶飞  阅读(178)  评论(0编辑  收藏  举报