CF2060C Game of Mathletes 题解
每一轮,Alice 先取数,Bob 后取,当两人所取的和为 时,加一分,Alice 希望的分最小,Bob 希望最大,两人按最优方式操作,求最终得分。
当两个数的和等于 时,这一对数就是可得分的,可以发现,Alice 的取数方法与结果无关,而对于 Alice 的数,当这个数可得分时,Bob 会取出对应的一个数使之得分,否则 Bob 则取出一个不可得分的数,没有得分。
于是,答案就是可得分数组合的数量(当然每个数只能用一次)。
于是就有了一个用映射维护的 行写法,注意 tot
不要改为数组,否则可能会访问负数下标。
1 | void solve(){ |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 shicj's blog!
评论