专栏文章
题解:P9911 [COCI 2023/2024 #2] Kuglice
P9911题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @miozldns
- 此快照首次捕获于
- 2025/12/03 03:44 3 个月前
- 此快照最后确认于
- 2025/12/03 03:44 3 个月前
题目大意:
很好理解,就是问两个人拿球,谁先拿某种颜色谁加分,求分数。
解析:
我们可以用区间DP解题。 先设一个数组f[i][j]表示取完区间[i,j]内的球,先手比后手多出来的分数。
再设shu表示总共能得到的分数,那么根据小学知识,先手能得到的总分就是(shu+f[1][n])/2,后手能得到的总分就是shu-(shu+f[1][n])/2。
然后,再设两个数组shou[i]和wei[i],表示i元素出现的最早和最晚位置,因为取i元素只能在这两个位置取。
接下来来看状态转移方程。因为只能在左右两端取球,所以f[i][j]的状态转移只能跟f[i+1][j]和f[i][j-1]有关。
并且,之前说过取i元素只能在这最早和最晚位置取,所以,只要满足
shou[a[i]] \ge i && wei[a[i]] \le j ,第i个球的颜色就一定只在区间内出现过。假设先手取走了 号球,那么对于区间 ,先手就变成了原来的后手,所以应该用取走i号球的得分减去 。
先手取走了j号球也同理:对于区间 ,先手也变成了原来的后手,所以应该用取走 号球的得分减去。
这样,我们就得到了如下状态转移方程:
;
其中,
cc(i,j,k)表示计算在 内取走颜色为k的球的得分。相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...