YC320A [ 20240711 CQYC省选模拟赛 T1 ] 美少女ゲーム(bishojo)

题意

给定两个序列 \(A, B\),保证 \(A\) 单调不升,\(B\) 单调不降。

两人依次从两个序列头取走数字,她们希望自己的数字最大,求两人最终取走的数字之差。

\(n, m \le 10 ^ 6\)

Sol

注意到当 \(n \bmod2 = 0, m \bmod 2 = 0\) 时,先手一定取走所有下标为奇数的位置,后手一定取走所有下标为偶数的位置。

考虑从这个形态上拓展一下,先钦定两人的操作是先一个一个接着选序列 \(A\),然后再选序列 \(B\),可以发现其实对于 \(A\) 来说,若先选 \(B\) 而没有选到 \(A\) 的奇数下标的话,这样是十分劣的。

考虑先手或后手在交替选择 \(A\) 的数列的过程,发现其实每人是有两种选择的,可以选择继续选择 \(A\),也可以选择直接选走 \(B\) 的开头,显然若 \(m\) 为偶数,另一方可以通过不断的跟选 \(B\) 序列,使得当前方不能交换交替选择 \(A\) 的顺序而且只能选到 \(B\) 的所有奇数位导致更劣,因此当 \(m\) 为偶数时,两人还是交替选择。

考虑 \(m\) 为奇数的情况,发现直接变成交换先后手,\(m\) 为偶数的情况。

做法很显然了,枚举两人第一次选到 \(B\) 序列的位置,从后往前更新答案即可。

posted @ 2024-07-23 10:58  cxqghzj  阅读(4)  评论(0编辑  收藏  举报