P7928 [COCI2021-2022#1] Kamenčići 题解
cyhyyds
·
·
题解
思路:
由于数据范围比较小,我们可以模拟两个人的操作。
两个人都是最优策略。
我们每一次对两端的情况进行分类讨论:
那么当前人的最优策略就是取蓝色,没什么好说的。
------------
$2.$ 左端蓝色,右端红色:
最优策略同上。
------------
$3.$ 两端都是红色:
我们令左端向右边到**第一个蓝色的距离**为 $c1$,右端向左边到**第一个蓝色的距离**为 $c2$。
为了让对方取到蓝色尽量少,也就是红色尽量多,
于是所以当前人取的是左端或右端**距离第一个蓝色较远**的那一端。
也就是说:
当 $c1\ge c2$ 时,取左端;
等于的情况我们可以任意。
当 $c1<c2$ 时,取右端。
------------
$4.$ 两端都是红色:
我们令左端向右边到**第一个红色的距离**为 $c1$,右端向左边到**第一个红色的距离**为 $c2$。
为了让对方取到红色尽量多,
于是当前人取的是左端或右端**距离第一个红色较近**的那一端,这样对方就会比较快拿到红色。
也就是说:
当 $c1\le c2$ 时,取左端;
等于的情况我们可以任意。
当 $c1>c2$ 时,取右端。
------------
## 代码:
有一点细节,但是因为本人代码过丑,不建议看。
还是要放一下的。
[代码。](https://www.luogu.com.cn/paste/t23jebfi)