A
区间 mex 在随机数据下期望是 级别的。
直接暴力做,复杂度 。
B
对于一个 ,只需要找到 使得 的构造方法。
发现 是一定能使三个面都是满的,所以只需要考虑 。
发现这个区间在 是空集。于是 打表, 直接把三个面塞满,剩下乱放。
C
把删除看成黑白染色。把边分成三类:
- 两端都是黑色。
- 两端都是白色。
- 两端一黑一白。
不难想到容斥,即钦定某一类边可以出现。
-
都不能出现。如果 ,答案为 。否则,答案为 。
-
1 类边可以出现。答案为 , 为孤立点的个数。
-
2 类边可以出现。同上。
-
3 类边可以出现。如果原图是二分图,答案为 , 为连通块个数。否则,答案为 。
-
1,2 类边可以出现。答案为 。
-
1,3 类边可以出现,答案为图的独立集个数。
-
2,3 类边可以出现。同上。
-
1,2,3 类边可以出现。答案为 。
现在需要解决一般图独立集计数。称编号为 为左部点,反之为右部点。
考虑折半搜索。复杂度 ,能拿 40pts。
考虑直接 dp,令 表示点集为 是的独立集个数。
转移分讨,设 为 中编号最小的点。
- 不选 ,。
- 选 ,此时不能选 的邻域,。
记忆化搜索,复杂度好像是 ,怎么证我也不知道。