P7928 [COCI2021-2022#1] Kamenčići 题解

· · 题解

思路:

由于数据范围比较小,我们可以模拟两个人的操作。

两个人都是最优策略。

我们每一次对两端的情况进行分类讨论:

那么当前人的最优策略就是取蓝色,没什么好说的。 ------------ $2.$ 左端蓝色,右端红色: 最优策略同上。 ------------ $3.$ 两端都是红色: 我们令左端向右边到**第一个蓝色的距离**为 $c1$,右端向左边到**第一个蓝色的距离**为 $c2$。 为了让对方取到蓝色尽量少,也就是红色尽量多, 于是所以当前人取的是左端或右端**距离第一个蓝色较远**的那一端。 也就是说: 当 $c1\ge c2$ 时,取左端; 等于的情况我们可以任意。 当 $c1<c2$ 时,取右端。 ------------ $4.$ 两端都是红色: 我们令左端向右边到**第一个红色的距离**为 $c1$,右端向左边到**第一个红色的距离**为 $c2$。 为了让对方取到红色尽量多, 于是当前人取的是左端或右端**距离第一个红色较近**的那一端,这样对方就会比较快拿到红色。 也就是说: 当 $c1\le c2$ 时,取左端; 等于的情况我们可以任意。 当 $c1>c2$ 时,取右端。 ------------ ## 代码: 有一点细节,但是因为本人代码过丑,不建议看。 还是要放一下的。 [代码。](https://www.luogu.com.cn/paste/t23jebfi)