m人参加n场比赛,已知某一人各比赛的名次,求它的期望总名次(各比赛名次相加的和的排名)

显然期望dp
对于其它m-1人,令 Ei,s表示第i场比赛得分为s的期望 E_{i,s} 表示第i场比赛得分为s的期望

Ei,s=∑jEi−1,jm−1=∑jEi−1,jm−1

E_{i,s}=\sum_j { \frac {E_{i-1,j}} {m-1} } =\frac {\sum_j E_{i-1,j} } {m-1}

然后前缀和乱搞

#include<bits/stdc++.h>
using namespace std;
#define For(i,n) for(int i=1;i<=n;i++)
#define Fork(i,k,n) for(int i=k;i<=n;i++)
#define Rep(i,n) for(int i=0;i<n;i++)
#define ForD(i,n) for(int i=n;i;i--)
#define ForkD(i,k,n) for(int i=n;i>=k;i--)
#define RepD(i,n) for(int i=n;i>=0;i--)
#define Forp(x) for(int p=Pre[x];p;p=Next[p])
#define Forpiter(x) for(int &p=iter[x];p;p=Next[p])
#define Lson (o<<1)
#define Rson ((o<<1)+1)
#define MEM(a) memset(a,0,sizeof(a));
#define MEMI(a) memset(a,127,sizeof(a));
#define MEMi(a) memset(a,128,sizeof(a));
#define INF (2139062143)
#define F (100000007)
#define pb push_back
#define mp make_pair
#define fi first
#define se second
typedef long long ll;
typedef unsigned long long ull;
ll mul(ll a,ll b){return (a*b)%F;}
ll add(ll a,ll b){return (a+b)%F;}
ll sub(ll a,ll b){return (a-b+llabs(a-b)/F*F+F)%F;}
void upd(ll &a,ll b){a=(a%F+b%F)%F;}
int read()
{int x=0,f=1; char ch=getchar();while(!isdigit(ch)) {if (ch=='-') f=-1; ch=getchar();}while(isdigit(ch)) { x=x*10+ch-'0'; ch=getchar();}return x*f;
}
#define MAXN (100+10)
#define MAXM (1000+10)
double E[MAXN][MAXN*MAXM];
int n,m,a[MAXN];
int main()
{freopen("CF601C.in","r",stdin);
//  freopen(".out","w",stdout);n=read(),m=read();For(i,n) a[i]=read();if (m==1) {cout<<"1.0000000000000000\n";return 0;}MEM(E)Rep(j,m+1) E[0][j]=1.0;For(i,n) {Fork(s,i,i*m) {E[i][s]=E[i-1][s-1] - ((s-m-1>=0)?E[i-1][s-m-1]:0) ;if (s>=a[i]) E[i][s]-=E[i-1][s-a[i]]-((s-a[i]-1>=0)?E[i-1][s-a[i]-1]:0); E[i][s]/=m-1;}For(s,i*m+m) { E[i][s]+=E[i][s-1];}}int s1=0;For(i,n) s1+=a[i];cout<<setprecision(10)<<setiosflags(ios::fixed)<<(m-1)*E[n][s1-1]+1<<endl; return 0;
}

CF 601C(Kleofáš and the n-thlon-期望dp)相关推荐

  1. 插头DP 概率DP / 期望DP

    插头DP && 概率DP / 期望DP 写在前面: 插头DP P5056 [模板]插头dp 手写哈希表的方法: 拉链法的代码如下: 开放寻址法的代码如下: 接下来是这道题的代码实现: ...

  2. luogu P4745 [CERC2017]Gambling Guide(期望DP + 最短路实现)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 P4745 [CERC2017]Gambling Guide(期望DP + 最短路实现) Weblin ...

  3. [SCOI2008]奖励关(期望dp)

    你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关.在这个奖励关里,系统将依次随机抛出k次宝物,每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决定不吃的宝物以后也不能再吃). 宝 ...

  4. 【bzoj4318】OSU! 期望dp

    题目描述 osu 是一款群众喜闻乐见的休闲软件.  我们可以把osu的规则简化与改编成以下的样子:  一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1个长度为n的0 ...

  5. 【loj6342】跳一跳 期望dp

    题目描述 一个人从 $1$ 开始向 $n$ 跳,在 $i$ 时会等概率跳到 $i,i+1,...,n$ 之一.求从 $1$ 跳到 $n$ 的期望步数. $n\le 10^7$ . 题解 期望dp傻逼题 ...

  6. 【高斯消元】兼 【期望dp】例题

    [总览] 高斯消元基本思想是将方程式的系数和常数化为矩阵,通过将矩阵通过行变换成为阶梯状(三角形),然后从小往上逐一求解. 如:$3X_1 + 2X_2 + 1X_3 = 3$ $           ...

  7. Luogu P3251 [JLOI2012]时间流逝 期望dp

    题面 题面 题解 期望\(dp\)好题! 今年\(ZJOI\)有讲过这题... 首先因为\(T\)只有\(50\),大力\(dfs\)后发现,可能的状态数最多只有\(20w\)左右,所以我们就可以大力 ...

  8. 【bzoj5197】[CERC2017]Gambling Guide 期望dp+堆优化Dijkstra

    题目描述 给定一张n个点,m条双向边的无向图. 你要从1号点走到n号点.当你位于x点时,你需要花1元钱,等概率随机地买到与x相邻的一个点的票,只有通过票才能走到其它点. 每当完成一次交易时,你可以选择 ...

  9. 【BZOJ】1076 [SCOI2008]奖励关 期望DP+状压DP

    [题意]n种宝物,k关游戏,每关游戏给出一种宝物,可捡可不捡.每种宝物有一个价值(有负数).每个宝物有前提宝物列表,必须在前面的关卡取得列表宝物才能捡起这个宝物,求期望收益.k<=100,n&l ...

最新文章

  1. Electric shaver and clean: workable when power is low
  2. SQLite数据库常用语句及MAC上的SQLite可视化工具MeasSQLlite使用
  3. leetcode - 279. 完全平方数
  4. Unity Failed executing external process for 'Bake Runtime' job
  5. Linux下zip的操作命令
  6. CentOS Linux服务器实现攻防演练
  7. 关于·nowrap与width
  8. win10开启多用户同时远程登录-很详细
  9. 【CCL 2019】参会小结与心得分享
  10. Hive、Spark优化案例
  11. win7旗舰版梦幻主题补丁~完美你的桌面
  12. 有哪些好用的云盘软件?2022不限速云盘网盘推荐
  13. ASP.NET 氚云平台集成Dome
  14. 惠普计算机如何用u盘引导启动不了系统安装系统,惠普笔记本进BIOS设置U盘启动教程...
  15. webpack 合并压缩_文章 - coolie PK webpack 之一:JS 文件的合并与压缩 - FED社区
  16. php期末作业总结,期末考试总结与反思(精选6篇)
  17. my ReadBook_baozhuangxue / baozhuanggailun / 273154301
  18. Python爬虫之Scrapy框架系列(12)——实战ZH小说的爬取来深入学习CrawlSpider
  19. 题库小程序盈利点分析
  20. 【荐】DIV+CSS仿360buy京东商城导航条

热门文章

  1. Tortoise Git 切换远程分支
  2. python zipfile_详解python3中zipfile模块用法
  3. PHP自定义模式搭建环境,自定义搭建PHP开发环境
  4. sql日期只取年月_【官宣】免费雅思官方机考模拟考试来啦(携带2020年13月机考日期)...
  5. 小米基于 Flink 的实时数仓建设实践
  6. 销售管理的六个能力是什么?
  7. 信息安全,别为了芝麻丢了西瓜。
  8. 《高效工作记忆法》-王军
  9. VB中操作剪粘板方法
  10. python中怎么取出数字上的每一位数_Python提取任意长度整数的每位数字