ARC205 B,D,E

ARC205

Problem B. B - Triangle Toggle

不断找只有 \(\le 1\) 条黑边的三元组,将其反转,答案至少增加 \(1\),直到找不到这样的三元组就得到了答案。

每个点的白边个数奇偶性不变,且在答案中没有一个点有 \(\ge 2\) 条白边。

\(n\) 为奇数,答案为 \(\dfrac{n(n-1)}{2}\);否则为 \(\dfrac{n(n-1)}2 - \dfrac{n}{2}\)

Problem D. D - Non-Ancestor Matching

直接想法是,先让每个子树内的未匹配点最小,然后合并时剩下的能匹配就匹配。但是不一定最优,因为子树内的一条匹配边可以断掉然后匹配外面的两个点,让答案加一。

那么我们从上往下,能匹配就匹配,匹配不了的递归进子树再处理。

具体地,设当前子树为 \(x\),设其儿子子树大小为 \(s_1,s_2,s_3,\cdots,s_k\),不妨让它单调不降。如果 \(s_k\le \sum_{i=1}^{k-1} s_i\),那么可以匹配完,返回;否则,递归进 \(s_k\) 子树,并记录一下外面有几个点可以用,继续处理即可。

Problem E. E - Subset Product Problem

朴素做修改 \(O(V)\),查询 \(O(1)\)(或者反过来)。考虑上值域分块平衡一下,把每个数字写成 \(BP+Q\) 的形式,其中 \(B\)。修改时 \(O(\frac V B)\) 更新能被 \(P\) 更新的块,查询时在 \(P\) 所在块里 \(O(B)\) 查一下 \(Q\) 的答案即可。

\(B=\sqrt{V}\),复杂度 \(O(n\sqrt{V})\)

posted @ 2025-09-07 11:42  XP3301_Pipi  阅读(23)  评论(0)    收藏  举报
Title