CF1986A,我们设x1x2
x3,答案位置为a,则距离和为|a-x1|+|a-x2|+|a-x3|,然后分类讨论x1
a
x2,x2
a
x3,x3
a,通过推到发现最后答案为x3-x1。
CF1986B,注意n*m总和不超过2e5所以此题只能用O(nm)的方法。考虑它要求选i尽量小,i相同j尽量小,所以当某个位置未变为不合法,则比它i/j大的位置不会用到,就顺次往下,统计答案就行。
CF1986C由于要让改后字典序最小,肯定是吧c字符串中小的往前放,于是我们对ind和c排序,将ind去重(要不就被覆盖了),然后将对应位置赋值就行了。
CF1986D,注意到n的范围允许的复杂度,因为要n-2个符号,所以必有一个两位数,我们枚举这个两位数是啥,然后处理序列。当有0或1时要乘(显然),否则就加。
CF1986E我们注意到如果一个数不断加可以变成另一个数需要两数同余。我们先考虑如何判断能不能行,我们对每个
%k开一个桶,存同余的数,如果装的数量为奇数的桶数
n%2,则不行。然后我们考虑如何让答案尽量小。当桶中有偶数个时,第1个与第2个配,第三个与第四个配.....,当有奇数个,需要有一个不用参与改变,它将两边分开,每向右挪一次,将右面的一部分给左面。