https://codeforces.com/contest/1553
A
统计 9 变成 10 的个数
B
暴力模拟即可
C
暴力模拟即可
D
容易发现最后取完剩下一定是个偶数,然后中间每两个隔着的是奇数,且越晚取完越好,于是从后往前贪心即可
E
对于一组排列我们从 (a_i o b_i),然后数环的个数,设为 (c),最小 (n-c) 步。所以 (n-cle m),所以 (n-mle c),设自己到自己的数量是 (k),那么 (cle frac{n+k}{2}),所以 (n-mle frac{n+k}{2}),(kge m)。然后我们发现由于 (mle frac{n}{3}) 所以这样的排列最多就 (3) 个。于是我们就可以在 (O(n)) 的时间里求答案了。
这道题的思想就是不需要考虑全部情况,这在前几天的模拟赛里也遇到了同样的题。
F
考虑增量构造,假设加入一个 (b),(amod b=a-[a/b]*b),于是我们只用维护 ([a/b]) 即可,直接枚举倍数,可以在 (O(nln n)) 里解决,在套一个树状数组,总复杂度 (O(nln nlog n))。
G
通过奇偶分析发现答案最多为 2,所以预处理一下就好了。
H
在trie树上暴力即可。
I
通过一些推导可以知道容斥后方案数至于长度有关,所以直接枚举长度即可。