CF1328题解
CF1328A
简单题,我们用 \(b-a%b\) 的余数即可,注意特判 \(a%b==0\) 即可
CF1328B
细节蛮多的,我们可以发现最终个数可以写成 \(1+2+3+\dots +(p-1)+p+g\) 最后 \(n-p\) 就是第一个b的位置, \(n-g\) 就是第二个b的位置,可以推式子然后 \(O(n)\) 求
但是我选择二分查找g,然后注意一下细节即可
CF1328C
贪心,首先,如果数位上有2/0我们先把它均分,找到有1的最高位,则一定有一份有有一份没有,有1的那一份一定比没有1的那一份大,因为要让最大值最小,所以剩下的数部分给没有1的那一份即可
CF1328D
首先考虑一个数最多相邻两个数,所以颜色最多有3种
这题应该构造,但是我少考虑了一些情况,所以就没写出来
分类讨论
所有数相等的情况,必然只有1
然后若n为偶数,则有通解1,2,1,2...
若n为奇数,则考虑必然最后有两个1或两个2是相邻的,对于这种情况,把这两个1或2,给到一组相邻的相等的数即可,若没有,自然是3
CF1328E
好玩的一道题!
我们转化一下题意,就是求有从根节点出发的链能不能经过与此点相邻的点或其本身
考虑树上相邻点的情况:
这个点的父节点和这个点的子节点或这个点,考虑因为是从根出发的链,所以想经过后两种点,自然会经过父节点,所以只需要考虑一条链能不能经过所有点的父节点即可
怎么操作呢?
我们先按节点深度排一下序,只需要判断下一个节点是否在这个节点子树內即可,然后这个过程可以用dfs序解决

浙公网安备 33010602011771号