CF1907

A

模拟。

B

模拟。

C

若原字符串中出现次数最多的次数为 \(cnt\),答案是 \(\max(n\%2,cnt\times 2-n)\)

D

二分 \(k\),然后从后往前倒,计算出到达每个线段可能到的区间。

E

\(a+b+c\) 不能进位,否则 \(digitsum()\) 就会至少 \(-9\)

所以按每一位分步计数。对于单独一位,若 \(n\) 这一位是 \(x\),则用隔板法知这一位方案数为 \(C_x^2\)

F

把所有数视作一个环。最优方案要么是逆时针转,要么是顺时针转 + 2次(翻转所需)。两种情况分别看即可。

找最小值,如果最小值个数 \(>1\),必须从第一个开始,转一圈不降。以此判断一下能否顺时针转/逆时针转。

判断后求一下两种情况较小值即可。

G

有向图,每个点只有一条出边。因此先把所有不在环上的用拓扑排序弄好,再处理环。

怎么弄环?枚举环上一个点开不开,就变成链了。

posted @ 2024-02-05 14:13  FLY_lai  阅读(2)  评论(0编辑  收藏  举报