Atcoder ARC115题解

Atcoder ARC115题解

A

并不太清楚怎么好的做, 直接写了FWT过了

B

很显然我们可以求出A和B的差分数组, 然后我们假设A的第一项是 \(x\), 那么B的第一项就是\(C_{1, 1} - x\), 那么每一项就可以被表示为一个关于x的多项式, 找到一个符合要求的x就行了

C

直接从后往前考虑就行了

D

我们可以考虑一棵树的时候这个问题怎么解决, 通过找规律可以发现如果是在一棵树上, 那么我们任选一个点数为偶数的子集, 都是合法的而且只有一种方案。 可以通过归纳证明。

现在我们知道怎么做树的情况, 然后拓展到无向图的时候就考虑这个图的dfs树, 对于每一条非树边对于每一种非树边选法, 都可以对应着树边的一种选法, 那么对于一个联通块, 假设是边数是m点数为n, 那么在这个联通快选k个点的方案数为

\[\binom{n}{k} \times 2^{m - n + 1} \times [k \bmod 2 = 0] \]

然后用多项式把每个联通块乘起来就行

E

比较容易的容斥, 但是自己考试的时候想不出来, 自闭了

我们考虑设 \(dp[i]\) 为前i个都是互不相同的选法, 考虑你从前面的转移的过来。

然后用线段树维护就好了

F

比较神的题目。

首先对于一个局面, 我们操作这个局面一定是将一个点移动至他的下一个比他小的位置(注意这里不是路径上的最小, 而是全局上的最小) 然后我们就可以移动这个点, 一次操作, 一定会在某个局面固定下来。 然后我们发现其实我们可以把T到S的倒过来操作, 然后必然会停在同一个点, 在S和T开始路径的第一个交就是最优解

posted @ 2021-09-13 20:12  Zcus  阅读(101)  评论(0编辑  收藏  举报