题解-CF1553

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

通过一些推导可以知道容斥后方案数至于长度有关,所以直接枚举长度即可。

原文地址:https://www.cnblogs.com/zcr-blog/p/15067239.html