专栏文章
题解:P2995 [USACO10NOV] Cow Photographs G
P2995题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mip6t6sp
- 此快照首次捕获于
- 2025/12/03 07:06 3 个月前
- 此快照最后确认于
- 2025/12/03 07:06 3 个月前
如果要求第一头奶牛必须站在第一个位置,那么答案就是逆序对个数,然后我们发现,所有可能的答案序列就是顺序序列的循环,因此如果我们能快速求出每循环一次的答案就能将问题解决。
我们考虑每次将最后一个数移到最前面,如果是第一次移动,那么这个数一定是最大的,所以如果这个数在原始序列中的位置为 ,那么则在新产生了 个逆序对的同时减少了 个逆序对。那么当我们再将倒数第二大的数移动到前面的时候该如何计算呢?可以发现,这一操作就相当于将最小的数变为最大的数,例如原序列为 ,变换后的序列为 ,由于相对大小没变,所以第二个序列就相当于将第一个序列中的 移到前面,这样就简单了,我们每次将最小的数变为最大的数,其实就是按从小到大的顺序考虑将每个数变为最大,然后按照前面的方法计算新的答案即可。
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...