2020年第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(上海)
每次找到的位置我们都可以计算出左边所用的时间和右边所用的时间,如果左边比右边大,说明左边走的慢可以往左移动一些,反之就是往右。因为题目要求最多能修改 n * m / 2 向下取整次,我们可以判断 A 和 B 之间有几个不同的位置并统计个数,最终如果不同的个数不超过 n * m / 2,那就可以直接修改。这道题是个 dp,我们设 dp[n] 表示在 k 的情况下的答案,那么考虑 n 个数中最小的那个数的放置情况,显然只能放在前 k 个数中,于是枚举这个数的位置。在圆上的不同点之间的距离可以分为两类。
原创
2022-10-29 13:38:06 ·
771 阅读 ·
0 评论