CF351B Jeff and Furik 题解

summarization

有一个长为 n 的排列 p, 现有甲乙两人轮流执行操作,甲是先手:

  • 甲每次可以交换 p 中相邻的两个数 pi,pi+1
  • 乙每次等概率执行下面两种操作的一种:
    • 选择一对 pi,pi+1,且 pipi+1,将其交换
    • 选择一对 pi,pi+1,且 pipi+1,将其交换

甲希望操作数尽可能小,求使排列升序的期望操作数。

solution

甲每次可以使序列中的逆序对减 1,乙每次有 12 的概率使逆序对减 1,12 的概率使逆序对加 1。

根据期望的可加性,当甲乙都操作过一遍时,有 12 的概率使逆序对减 2,12 的概率逆序对不变。

所以,每操作两遍,逆序对期望减少 1,所以期望操作数就是逆序对数乘 2。

但是,要注意一下细节,如果逆序对数是奇数的话,那么最后一次甲操作完后序列已经升序,所以操作数要减 1。

code

就算个逆序对,不贴了。

posted @   ClapEcho233  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探
点击右上角即可分享
微信分享提示