ARC121F
shiruoyu114514 · · 题解
解法
考虑什么样的树合法。
断言:一棵树合法当且仅当在断掉所有
\operatorname{OR} 边后,至少有一个联通块没有0 。证明:
充分性:直接把全
1 联通块缩在一起,并且操作除该联通块邻接\operatorname{OR} 边外的所有边,然后再操作邻接边即可。必要性:显然如果没有
\operatorname{OR} 边,不论怎么操作,联通块内都至少有一个0 ,并且最后的运算结果为0 。否则考虑第一次对
\operatorname{OR} 边操作时,由于边两端的联通块都至少有一个0 ,而\operatorname{OR} 至多会减少一个0 ,所以操作后的联通块依旧至少有一个0 ,转化为联通块个数-1 的情况。
于是进行树形 DP 即可。
具体地,考虑容斥。令
当给
时间复杂度
做法二:
考虑“剥叶子”状物。具体地,我们考虑当一个叶子以及其父子边的情况。
如果叶子为
如果为
否则当对其进行操作的时候,无论何时,父亲会变成
于是可以 DP:令