题目: http://acm.hdu.edu.cn/showproblem.php?pid=6595

分析:
设f(n)=Calculate(Array)×Probability[Calculate(Array)],其中|Array|=n;
即f(n)=E[Calculate(Array)],其中|Array|=n;
则ans=[ ∑f(n) ] / N,n<=N;
考虑f(n)如何求:
考虑一对逆序对对答案产生的贡献!
从n个数中选则两个数:C(n,2)
较小的数排在前面的概率:1/2
在第i层子序列中对答案产生贡献的概率:(1/4)^i ,即这两个数出现在第i层子序列中的概率
举个栗子,比如这两个数出现在原数列中的概率为(1/4)^0=1,
出现在第一层子序列中的概率为(1/2×1/2)^1=1/4,其中1/2为每个数出现在子序列中的概率。
综上,f(n)=C(n,2)×1/2×∑[(1/4)^i],其中i∈[0,∞];
                  =n*(n-1)/3
            ans=[ ∑f(n) ] / N,n<=N。
注意逆元用费马小定理处理一下即可。

代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long llong;
const int tmax=3005;
const llong mod=998244353;
llong f[tmax],three,rev[tmax];
llong quick(llong base)
{llong ans=1,k=mod-2;while(k){if(k&1) ans=(ans*base)%mod;base=(base*base)%mod;k>>=1;}return ans;
}
void init()
{int i;three=quick(3ll);for(i=1;i<=3000;i++){f[i]=(1ll*i*(i-1))%mod*three%mod;rev[i]=quick(1ll*i);}return;
}
int main()
{init();//test();int N;while(scanf("%d",&N)==1){llong ans=0;for(int i=1;i<=N;i++)ans=(ans+f[i])%mod;ans=ans*rev[N]%mod;cout<<ans<<endl;}return 0;
}

HDU 6595. Everything Is Generated In Equal Probability (期望+逆元)相关推荐

  1. HDU 6595 Everything Is Generated In Equal Probability (期望dp,线性推导)

    Everything Is Generated In Equal Probability \[ Time Limit: 1000 ms\quad Memory Limit: 131072 kB \] ...

  2. HDU 6595 Everything Is Generated In Equal Probability(概率+组合数)

    题面 One day, Y_UME got an integer NN and an interesting program which is shown below: Y_UME wants to ...

  3. hdu6595 Everything Is Generated In Equal Probability 数学期望

    链接 Everything Is Generated In Equal Probability 题意 ①给个N(1≤N≤3000),在1~N中等概率取一个数n ②随机产生一个1~n的排列,记录逆序对个 ...

  4. Everything Is Generated In Equal Probability(HDU - 6595,概率期望)

    一.题目链接: HDU-6595 二.题目大意: 题目给定一个正整数N. 在区间[1, N]中随机等概率地选取一个正整数n,然后随机等概率地生成一个长度为n的排列A,然后调用函数 CALCULATE( ...

  5. Everything Is Generated In Equal Probability HDU 6595(期望dp)

    大致题意 好像是给一个数字n,然后随机选择一个1到n的数字,对其排列进行这样一种运算.首先res加上当前排列的逆序对数,然后再随机选择当前数列的子序列,继续进行该运算直到子序列长度为0.求res的期望 ...

  6. 2019 杭电多校 E - Everything Is Generated In Equal Probability HDU 6595 数学

    给了你一个程序 程序 S1 将传入的 数组 返回一个随机子序列(不一定连续) 程序 S2 算这个数组 逆序对数量 程序 S3 算这个数组 经过S1 之后 用S2算逆序对数量 到这里 我们知道了 这个程 ...

  7. 【题目】HDU P6595(C849E)Everything Is Generated In Equal Probability

    题目大意 给出一个整数NNN和一段程序(包括三个函数): SUBSEQUENCE(Array)\text{SUBSEQUENCE(}Array\text)SUBSEQUENCE(Array):随机返回 ...

  8. hdu多校第二场 1005 (hdu6595) Everything Is Generated In Equal Probability

    题意: 给定一个N,随机从[1,N]里产生一个n,然后随机产生一个n个数的全排列,求出n的逆序数对的数量,加到cnt里,然后随机地取出这个全排列中的一个非连续子序列(注意这个子序列可以是原序列),再求 ...

  9. Everything Is Generated In Equal Probability HDU-6595 期望DP

    Solution dp[n]=E+∑i=0n−1Cnidp[i]+dp[n]2ndp[n]=E+\frac{\sum\limits_{i=0}^{n-1}C_n^idp[i]+dp[n]}{2^n}d ...

最新文章

  1. MySQL基础之select基本查询
  2. Clojure语法学习-循环
  3. ArcGIS 10.2晕渲图+旋转图制作
  4. MySQL 快速定位性能问题
  5. Androidの网络Http之判断是否连接服务器
  6. 宾夕法尼亚在线计算机硕士,申请访谈:宾夕法尼亚大学(Upenn)计算机科学(CS)的录取攻略...
  7. [转载] python中import问题
  8. filename.whl is not supported wheel on this platform 部分第三方库无法安装的解决办法
  9. python微信群管理开禁言_微信群群主可不可以设置禁言?群主设置禁言别人方法...
  10. Java-输出100以内的质数
  11. w10计算机网络标志不见了怎么办,Win10系统网络图标不见了怎么办?
  12. 访问yy直播页面点击播放无响应分析
  13. VMware Workstation 英文改中文界面
  14. 【统计学】用Stata做时间序列分析
  15. FINN(三)BNN在FPGA上的准确性和峰值性能
  16. 图片转PDF格式怎么转换?这三种方法随便用
  17. 三星堆的青铜机器人_三星堆出土世界同期最高、最完整的青铜立人像 他有两个未解之谜...
  18. 码农的自我修养 - 指令集架构种类
  19. TongWeb及应用系统安全加固
  20. 前端例程20210802:玻璃拟物化风格(Glassmorphism)设计与实现

热门文章

  1. 三星华为等推折叠屏手机 这家日本小厂意外发财
  2. 由二项分布推导泊松分布中的两个使用公式的证明
  3. Zigbee——协调器组建网络
  4. 二维码怎么制作?看完这篇你就会了
  5. vuerouter路由的理解
  6. 题目3:一个整数,它加上100后是一个完全平方数,再加上268又是一个完全平方数,请问该数是多少?
  7. CSS vw vh详解
  8. js实现3D旋转相册
  9. 【directX 3D游戏开发】DirectX 中的空间坐标和灵活顶点格式使用
  10. ITBP 是什么职位?