UVA12004 Bubble Sort 题解

题意:给 n 个数冒泡排序,求期望交换次数。

思路

这个题目可以转化为求 n 个数的期望逆序对个数。

那么,n 个数有 Cn2=n(n1)2 组数对,

又因为有这句话:虽然没什么影响

每个数不同,那么一对数就有 12 的几率是逆序对,

所以期望逆序对数就是 n(n1)2×12=n(n1)4 对。

注意分数。

代码

#include <iostream>
#define int long long
using namespace std;
int n;
signed main()
{
    cin >> n;
    for (int i = 1, t, ans; i <= n; ++i)
    {
        cin >> t;
        ans = t * (t - 1) / 2;
        if (ans % 2) cout << "Case " << i << ": " << ans << "/2" << endl;
        else cout << "Case " << i << ": " << ans / 2 << endl;
    }
    return 0;
}
posted @   Jijidawang  阅读(5)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示