回来第一场打成屎了
A
大胆猜测在 \(n\) 足够大时一定可以把 \(y\) 与成 \(0\),那么就只需最大化 \(x\)(NT:绿题不到)。
那么 \(n\) 什么时候足够大呢?
任取 \(3\) 个数,那么每一位都至少有一种消掉它的方法,因此如果现在还剩 \(k\) 位,就一定可以选出两个数消掉 \(\lceil k/3 \rceil\) 位。
你还可以把这个阈值 \(3\) 变成 \(5\) ,以达到(可能)更好的效果。
总之,可以发现,任取 \(16\) 个数,都可以把 \(y\) 变成 \(0\)。
所以 \(n > 1\) 就足够大了。
B
考场上反悔贪心挂了。
先考虑性质分 \(t1 = t0 = ts\)。
我们意识到 \(swap\) 只有相邻两位不同时才会使用,并且相当于是对两位取反。
所以如果原串中有相邻两位不同且都需要取反的时候就贪心用 \(swap\),剩下的单点肯定不亏。
然后考虑如果想对序列中不同的两位(需修改)\(swap\),如果中间的部分合法,那么可以以 \(|i - j|ts\) 的代价完成交换(因为 \(i \sim j\) 的 \(01\) 数量是对的,所以 \(|i - j|ts\) 的代价一定可以完成)。
这时有一个反悔贪心思路,就是一个位置需修改,要么单修要么配对 \(swap\)。
现在问题是会不会配对出不合法的 \(swap\)。
注意到一个位置不会既被 \(swap\) 又被单修,这样肯定是劣的。而 \(swap\) 段没有单修 \(01\) 数量就不变,那么用 \(swap\) 的两个中间总可以是合法的。
又因为贪心肯定不会用劣的方案,所以找到的 \(swap\) 肯定是可行的。
C
唐诗,完全没想到括号。
最无脑的构造是二进制硬加构造。
高级一点的注意到 \(-1, 0, 1\) 是不占代价的系数可以三进制构造(原来 \(0, 1, 2\) 的系数平移到 \(-1, 0, 1\))。
再高级一点是意识到系数可以是 \(1\) 代价在前面乘着后面对应项写在括号里面 \(p \times (\ldots)\)。
所以可以取 \(2, 3, 4\) 作为系数再算上不占代价的 \(0, 1\) 就有了 \([-4, 4]\) 的系数可以九进制构造了,构造范围在 \(K = 12\) 时是 \(\left[-\frac{9^9}{2}, \frac{9^9}{2}\right]\)。
构造的一个很笨的方法是系数平移了 \(4\) 位先平移回去(\(+ 4 \times \sum 9^i\))然后九进制分解。
标签:系数,21,可以,24.12,构造,swap,代价,贪心 From: https://www.cnblogs.com/KinNa-Sky/p/18620943