Codeforces Round 1106 (Div. 2) 题解

比赛链接

感觉每道题都比 div2 应有的难度较低些?

A Another Puzzle from Papyrus

\(a\) 排序后为 \(a'\)

无解的情况在于 \(\exists a'_i < b_i\)

不然代价即为 \(\sum a_i - \sum b_i\)

再判断是否存在 \(a_i<b_i\),确定是否加上排序的代价 \(c\) 即可。

时间复杂度 \(O(nlogn)\)

AC代码

B Crimson Triples

\(\gcd(\operatorname{lcm}\)\(^{}\)\((a, b), \operatorname{lcm}(b, c)) = \gcd(a, c)\) 时,满足 \(b \mid a\)\(b \mid c\)

在质因子视角下容易理解,对于某个质因子 \(p\) 满足 \(a\)\(p\) 的指数是 \(k_1\)\(c\) 中是 \(k_2\),则 \(b\) 中一定小于 \(\operatorname{min}(k_1,k_2)\)

只要枚举 \(b\),符合条件的 \(a,c\) 组数就是 \(b\) 的倍数的平方,即 \(\lfloor \frac{n}{b} \rfloor^2\)

时间复杂度 \(O(n)\)

AC代码

C Village Guilds

显然对于某个节点,它子树里同一深度的点可以视作一样的。

考虑某层深度何时能取到,不难发现取不到的条件当且仅当这层点全来自于一个儿子(会在儿子处就算到)。

所以只要统计一下每个儿子子树的最大和次大深度,到次大深度的层一定能够取到。

时间复杂度 \(O(n)\)

AC代码

D Storming Arasaka

在质因子视角下,对于 \(n = \prod p_i^{k_i}\)

所有质因数的幂,需要单独一层。

若质因数有 \(m\) 种,还需要 \(m\) 层。

因此至少需要 \(\sum k_i + m\) 层。

可以构造证明此解可行:对于某个因数 \(m = \prod p_i^{c_i}\),有 \(q\) 种不同质因数,将它放到 \(\sum c_i + q - 1\) 层。

每一层也存在合法的链。

时间复杂度 \(O(nlogn)\)

AC 代码

E Cake Trial

考虑将 \(\texttt{F}\) 当做 \(1\)\(\texttt{T}\) 当做 \(0\)

一个串的错误就是总 \(\texttt{F}\) 数减去(选中区间的 \(\texttt{F}\) 减去 \(\texttt{T}\)),也就是总 \(\texttt{F}\) 数减去最大子段和。

考虑 \(dp\)

\(dp_{i,j,k}\) 表示考虑前 \(i\) 个字符,共有 \(j\)\(\texttt{F}\),当前结尾的最大子段和是 \(k\) 的状态下,最小的最大子段和。

根据第 \(i\) 个字符填什么,进行状态转移就好。

答案就是 \(\operatorname{max} (j-dp_{n,j,k})\)

AC 代码

posted @ 2026-07-08 07:46  c0Sai  阅读(21)  评论(0)    收藏  举报