arc111-solution-post
ARC111 Solution
A - Simple Math 2
直接快速幂算即可。
(*1500~1600,数学)
B - Reversible Cards
建模:把颜色建点,每个卡牌在两个颜色之间建边。
现在考虑每个连通块,设连通块大小为 \(k\)。
如果连通块内有大于等于 \(k\) 条边,我们随便找出一个生成树,以一个连着非树边的点作为根,每条边选儿子的颜色,根节点用那条非树边来选即可。这样这个连通块都能染上色。
否则如果只有 \(n-1\) 条边,那么每条边选儿子的颜色,除了根都能选上。
综上答案是颜色数减去树的数量。
(*2000~2100,构造)
C - Too Heavy
建模:连边 \(i\to p_i\)。由于排列的优秀性质,会形成若干个环。
这个题还有一个优秀性质:如果两个人进行了交换,\(a_i\) 大的那个换完肯定不会累。
我们分别考虑每个环。现在从中选出 \(a_i\) 最小的人,把他想要的东西换给他。
现在这个人不管累不累,我们把他从环中删除,由于他是 \(a_i\) 最小的,和他换东西的人肯定是不累的。
我们把环重新拼起来,重复上述过程直到剩下一个人,这个人手上一定是他想要的东西。
那么这个环用了 \(n-1\) 次交换完成,这个当然也是答案的下界。因此答案是 \(n\) 减环数。
(*2400~2600,构造)
D - Orientation
首先 \(c_u>c_v\) 的话肯定是从 \(u\) 连到 \(v\),vice versa.
现在只考虑剩下的 \(c_u=c_v\) 的边,这些边会形成一些连通块,连通块内的 \(c\) 全部相等。
由于能到达的点数量都是一样的,那么对于连通块内任意的 \(u,v\),它们肯定可以互相到达(否则 \(c\) 一大一小)。
即这个连通块标完方向应该是强连通的。
因为保证有解,强连通图又一定有一个有向环(把所有 \(i\) 到 \(i+1\) 路径并起来),直接 dfs 一遍顺便标方向即可。
(*2300~2500,图)
E - Simple Math 3
只需要枚举到 \(Ci-Bi+1<D\),即 \(i\le\lfloor\frac{D-2}{C-B}\rfloor\)。设 \(m=\lfloor\frac{D-2}{C-B}\rfloor\)。
现在我们保证了 \([A+Bi,A+Ci]\) 之中元素个数小于 \(D\),这其中有一个 \(D\) 的倍数当且仅当 \(\left\lfloor\frac{A+Ci}{D}\right\rfloor-\left\lfloor\frac{A+Bi-1}{D}\right\rfloor=1\)。
又考虑到 \(\left\lfloor\frac{A+Ci}{D}\right\rfloor-\left\lfloor\frac{A+Bi-1}{D}\right\rfloor\) 要么是 \(0\) 要么是 \(1\),答案即为
直接类欧带走即可。
(*3000~3100,数学)
F - Do you like query problems?
和先转成期望,最后答案乘上方案数。
考虑求每次操作给 \(ans\) 加上的期望值。设 \(a_{i,j}\) 表示 \(a_i\)经过 \(j\) 次操作的期望值,第 \(j\) 次操作给 \(ans\) 加上的期望值即
要求即为
又 \(a_i\) 被选在区间内的概率是 \(\frac{i(n-i+1)}{\frac{n(n+1)}2}\),由期望线性性,每个 \(a_i\) 可以单独算贡献,即
现在设一次操作对 \(a_i\) 是 有效的,当且仅当满足:
-
这次操作是修改操作,修改的区间包含 \(a_i\)。
-
若是 \(max\) 操作,则需要 \(v\ge a_i\),若是 \(min\) 操作,则需要 \(v<a_i\)。
那么发生一次有效操作的概率是
现在来计算 \(P(a_{i,j}\ge t)\),这个就是最后一次有效操作的 \(v\ge t\) 的概率。
我们并不关心最后一次有效操作是哪次操作,除非之前的所有操作都不是有效操作。这个的概率是
\(j\) 是操作次数,\(-1\) 是因为我们在算答案的时候钦定第 \(j\) 次是询问操作。所以
代回去
后面是一个等比数列求和,那么复杂度就是线性对数。
(*3300~3500,数学)

浙公网安备 33010602011771号