ARC148游记

ARC148游记

问:打 atcoder 的比赛有什么好处?

答:虽然不一定能上分,但是至少基本不会 unrated 。。。

CF 我最近打了三次,两次可以上大分的场次 unrated ,一次只能上一点分的没有 unrated ,我反正是无语了/kk

这场貌似是“模”场,场上只会前 ABCD ,赛后被舍友点醒会了 E 。

ABC 题解懒得写了, F 造计算机不会爬了。

D - mod M Game

场上猜结论猜出来的(不然就要下大分了呜呜呜),不过猜出来后也比较好证。

题意

场上 \(2N\) 个整数, Alice Bob 轮流取数, Alice 先手,如果最终 Alice 取出数的和在模 \(M\) 意义下和 Bob 取出来数的和相等,那么 Bob 获胜,否则 Alice 获胜。

\(1\le N\le 2\times 10^5\)

题解

尽量写下思考过程。

考虑最后只剩两个数了,此时 Alice 先取,假设 Alice 之前取的数和为 \(x\) , Bob 为 \(y\) ,剩下两个数 \(a,b\) ,那么 Bob 要赢当且仅当 \(x+a\equiv y+b\pmod M\) 并且 \(x+b\equiv y+a\pmod M\) ,即 \(2a\equiv 2b\) ,于是我们得出最后剩下两个数 \(a,b\) Bob 获胜的必要条件是 \(2a\equiv 2b\pmod M\) ,不妨我们认为这样的 \(a,b\) 是“配对的”。

自然想到配对的数会成对拿走。 \(a,b\) 配对要么 \(a-b\equiv b-a\equiv 0\pmod M\) ,要么 \(a-b\equiv b-a\equiv \frac{M}{2} \pmod M\) ,先把第一种情况的全部两两配对拿走,对于第二种情况,我们知道这样的对数每加一,那么 Alice Bob 间的差距就会增加 \(\frac{M}{2}\) ,所以这样的对数必须是偶数对。

于是我们大胆猜测: Bob 获胜当且仅当在删除两两相同数后剩下的数的个数是 \(4\) 的倍数且可以通过以上配对规则两两配对。

证明就很简单了,只需要构造必胜方案,如果 Bob 必胜,按照配对思想先配好对, Alice 拿哪个 Bob 就拿它的配对数,这样 Bob 可以保证每组配对数两人都拿到恰好其中一个,它们的和必然相等。

如果 Alice 必胜,还是先把相同的数两两配对,剩下的数按规则配对:如果全部配对成功那么 Alice 类似上述 Bob 的策略可以每组配对数两人都拿到恰好其中一个,它们的和必然差 \(\frac{M}{2}\) ;如果仅部分配对成功,那么 Alice 只需要关注配对不成功的数,利用自己的先手优势可以控制配对不成功的数中 Alice 拿到的数与 Bob 拿到的数之差必然不能补齐哪些配对成功的数造成的两人之差(这个差值可能是 \(0\) 或者 \(\frac{M}{2}\) ),具体策略是如果配对不成功的数的数量不止两个, Alice 就从里面任意拿,之后 Alice 的行动根据 Bob ,如果 Bob 拿可配对的数,那么 Alice 就拿它的配对数,如果 Bob 拿不可配对的数,那么 Alice 也拿不可配对的数,直到不可配对的数中仅剩两个 \(a,b\) , Alice 显然可以预测到配对数全拿完后两人数的差,如果 Alice 选 \(a\) 会导致失败,那么 Alice 拿 \(b\) 就可以了,因为拿 \(a\) 和拿 \(b\) 会导致最后两人数的差不相同。

E - ≥ K

题意

给定 \(N\) 个数的序列 \(A_1,\dots,A_N\) 和一个整数 \(K\) ,问有多少个 \(A\) 的排列满足任意相邻数之和大于等于 \(K\) 。答案对 \(998244353\) 取模。

\(2\le N\le 2\times 10^5\)

题解

好妙的题,可惜太菜场上不会。。。

首先序列就十分不优美,与开头数和末尾数相邻的数都只有一个,于是我们增加一个 \(+\infty\) 放在头尾之间形成环,于是所有数相邻的数都有两个而且不会算重。

将所有数分成两类,一类小于 \(K/2\) ,一类大于等于 \(K/2\) ,小于 \(K/2\) 的数相邻两个数必然大于 \(K/2\) ,我们考虑这里面的最小值,选择两个数放在它的前面和后面使得这两处相邻合法,然后就可以将这三个数视为一体,容易发现这三个数组成的整体放在任意位置都行,因为没有比最小的数还小的数了,于是我们删除这三个数加入一个新数 \(+\infty\) ,然后继续考虑最小值即可,容易发现这种考虑顺序计算方案直接乘法原理即可。

当最小值大于等于 \(K/2\) 时,此时场上剩下的所有数都可以任意排了,于是就是个圆排列了。

posted @ 2022-09-12 20:59  xiaolilsq  阅读(543)  评论(1编辑  收藏  举报