solution for day1

T1

有借有还,再借不难,分类讨论,注意判断。

我们现在把自己当做 master,考虑如何构造集合卡掉 pupil。

明显只要所有点的集合相同就能卡掉不是二分图的情况,而且不同的连通块互不影响,度不超过 1 1 1 的节点也可以去掉。所以现在我们只考虑所有节点均有至少两条边的二分图。

对于完全二分图 K 3 , 3 K_{3,3} K3,3, 样例已经给出了构造;对于完全二分图 K 2 , 4 K_{2,4} K2,4,只要一边是 ( A , B ) (A,B) (A,B) ( C , D ) (C,D) (C,D),另一边是 ( A , C ) (A,C) (A,C) ( A , D ) (A,D) (A,D) ( B , C ) (B,C) (B,C) ( B , D ) (B,D) (B,D) 即可。然后如果图中有两个偶环有不超过一个公共点,可以使用一个限制偶环点染色的方法卡掉,即一个点是 ( A , B ) (A,B) (A,B),与它相邻的两个是 ( A , C ) (A,C) (A,C) ( C , B ) (C,B) (C,B) ,这样之后的点就不能染 C C C 了。

现在我们的图只有两种情况了:偶环和两个度为 3 3 3 的节点,其中有三条不相交的路径。对于偶环,如果其中两个相邻节点的集合不同,则可以一个节点染一个另一个集合没有的颜色,然后顺着环染即可,所以答案为 YES;三条不相交的路径,只有长度为 2 − 2 − 2-2- 22 偶数才为 YES,因为对于 2 − 4 − 4 , 1 − 3 − 3 2-4-4,1-3-3 244,133 均有卡掉的方法,而如果相邻两个度为 2 2 2 的节点,可以他们和某一边选相同的颜色集合,这样颜色交替变化,相交部分还是相同的。

现在我们只需要使用类似最短路或类似拓扑排序的方法去掉度不超过 1 1 1 的节点,然后对每个联通分量判断是否是偶环或 2 − 2 − 2-2- 22 偶数即可。复杂度 O ( n + m ) O(n + m) O(n+m)

Source : Bjoi 2018

T2

考虑第三个条件,貌似是一条路径?
不过sorry,还可能是一个环。
Source: hdu 4370

T3

我们很容易得到只考虑一棵树时每个点的权值的奇偶性。如果只考虑 A A A树时的奇偶性与只考虑 B B B树时的奇偶性不同,就无解。

现在我们构造一个 a i ∈ { − 1 , 0 , 1 } a_i\in\{−1,0,1\} ai{1,0,1}的方案。

如果一个点的儿子个数是奇数,那么 a i = 0 a_i=0 ai=0,否则 a i ≠ 0 a_i \neq 0 ai̸=0

现在只考虑一棵子树。

对于每一棵子树,一定有 2 k + 1 2k+1 2k+1个权值是奇数的点。

证明:因为整棵子树的权值和是奇数,所以有奇数个权值是奇数的点。

那么可以匹配出 k k k对点和剩下一个点。对于一对点 ( x , y ) (x,y) (xy),令 a x = − a y a_x=−a_y ax=ay。所以整棵子树的权值和就是 ± 1 \pm1 ±1。我们在 x , y x,y xy之间连一条边。对于每个点

这样得到的图每个点的度数 ≤ 1 \leq 1 1

然后把两棵树得到的边合在一起,得到的图就是一个二分图。

为什么?因为如果有奇环就一定会有相邻两条边来自同一棵树,但这是不可能的。所以就没有奇环。

对于这个图黑白染色,黑色的点选 1 1 1,白色的点选 − 1 −1 1

时间复杂度: O ( n ) O(n) O(n)
 Source : atcoder agc 018F

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值