正题

题目链接:https://www.luogu.com.cn/problem/P6046


题目大意

nnn个数,每次选择两个相邻的数删除小的那个,求每个数期望存活轮数。


解题思路

相当于一条链每次缩掉一条边,我们发现其实每个点只需要考虑左右第一个比它大的就好了。定义P(x)P(x)P(x)表示xxx轮攻击后还没有死亡的概率,有ans=∑i=1n−1P(i)ans=\sum_{i=1}^{n-1}P(i)ans=i=1∑n−1​P(i)

对于每个P(i)P(i)P(i)我们固定到左边第一个比它大的数的路径然后剩下的随便选就可以用组合数来计算方案,而左右两边都减去后要容斥加上两边都被删除的方案数。

时间复杂度O(n2log⁡P)O(n^2\log P)O(n2logP)


codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
const ll XJQ=998244353,N=60;
ll n,a[N],fac[N],inv[N],ans;
ll power(ll x,ll b){ll ans=1;while(b){if(b&1)ans=ans*x%XJQ;x=x*x%XJQ;b>>=1;}return ans;
}
ll C(ll x,ll y)
{if(x<0||y<0||x<y)return 0;return fac[x]*inv[y]%XJQ*inv[x-y]%XJQ;
}
int main()
{scanf("%lld",&n);a[0]=a[n+1]=2147483647;fac[0]=inv[0]=1;for(ll i=1;i<=n;i++){scanf("%lld",&a[i]);fac[i]=fac[i-1]*i%XJQ;inv[i]=inv[i-1]*power(i,XJQ-2)%XJQ;}for(ll p=1;p<=n;p++){ll l=p-1,r=p+1;ans=0;while(a[l]<a[p])l--;while(a[r]<a[p])r++;for(ll i=1;i<n;i++){ll tmp=0,d1=p-l,d2=r-p;if(l)tmp=(tmp+C(n-1-d1,i-d1))%XJQ;if(r!=n+1)tmp=(tmp+C(n-1-d2,i-d2))%XJQ;if(r!=n+1&&l)tmp=(tmp-C(n-1-d1-d2,i-d1-d2)+XJQ)%XJQ;ans=(ans+1-tmp*power(C(n-1,i),XJQ-2)%XJQ+XJQ)%XJQ;}printf("%lld ",ans);}
}

P6046-纯粹容器【数学期望,组合数】相关推荐

  1. 数学期望和概率DP题目泛做(为了对应AD的课件)

    题1: Uva 1636 Headshot 题目大意: 给出一个000111序列,注意实际上是环状的.问是0出现的概率大,还是当前是0,下一个还是0的概率大. 问题比较简单,注意比较大小: A/C & ...

  2. Candy UVA 1639 (数学期望)

    Candy UVA 1639 (数学期望) 有两个盒子各有n颗糖(n<=2*105),从两个盒子取糖的概率为p和1-p,直到一个盒子没糖,求另一个盒子中糖的个数的数学期望. 期望公式为: E=∑ ...

  3. 《算法竞赛进阶指南》数论篇(3)-组合计数,Lucas定理,Catalan数列,容斥原理,莫比乌斯反演,概率与数学期望,博弈论之SG函数

    文章目录 组合计数 例题:Counting swaps Lucas定理 Cnm≡Cnmodpmmodp∗Cn/pm/p(modp)C_n^m\equiv C_{n\ mod\ p}^{m\ mod\ ...

  4. 随机变量的数字特征(数学期望,方差,协方差与相关系数)

    戳这里:概率论思维导图 !!! 数学期望 离散型随机变量的数学期望 (这里要求级数绝对收敛,若不绝对收敛,则E(X)不存在) 如果有绝对收敛,则有 ,其中 连续型随机变量的数学期望 (这里要求绝对收敛 ...

  5. 解题报告(一)F、(2018 ACM - ICPC shenyang I)Distance Between Sweethearts(数学期望 + 乘法原理 + FWT)(4.5)

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

  6. R语言:求二维变量数学期望

    想做一个二维变量数学期望实验, 查看若干资料终于找到方法 先看这篇文章熟悉一下R的函数 http://www.cyclismo.org/tutorial/R/tables.html 构造数据 通过下面 ...

  7. hdu 5419(数学期望)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5419 题解: 首先分母是C(m,3),考虑如何求出分子 考虑数学期望的独立性,我们首先可以用线性的时间 ...

  8. 概率论-2.2 随机变量的数学期望(重点:随机变量X的期望)

    分布有关的特征数:均值,方差,分位数等 期望的定义: 设离散随机变量X的分布列为pi=p(xi)=P(X=xi),i=1,2,-,n 若Sum(| xi |*p(xi))收敛(等价于Sum( xi * ...

  9. jzoj3801-[NOIP2014模拟8.23]骰子【数学期望】

    正题 题目链接:https://jzoj.net/senior/#main/show/3801 题目大意 mmm面的骰子是1∼m1\sim m1∼m,然后丢nnn次,求最大值的数学期望. 解题思路 若 ...

最新文章

  1. html 高德地图坐标,百度地图,高德地图,HTML5经纬度比较
  2. java王者归来pdf_《JAVA WEB整合开发王者归来》刘京华.pdf
  3. 化验室计算机用户管理,计算机实验室管理思路及方法
  4. 计算机跨考医学检验技术,医学检验技术考研可以考哪些专业?
  5. mongodb 监控权限_运维监控产品分析篇
  6. 程序设计 关键字解释
  7. 知名IT公司的年度大会合集
  8. 多重操作系统安装全解析
  9. 基于词嵌入技术的微博博文情感分析系统设计实现
  10. 太极越狱重大安全后门
  11. python set去重
  12. 软件测试之逻辑思维题
  13. 一个稳定、快速的云服务器——萤光云
  14. mysql根据出生日期计算年龄并查询
  15. android sms 接收短信,Android SMS 短信操作
  16. java如何画五角星_Java——绘制五角星
  17. 头歌实践教学平台——python程序设计——元组的使用
  18. Vue:首屏加载页实现
  19. Spring定时任务多线程
  20. WPARAM与LPARAM 之区别

热门文章

  1. java file_java开发之File类详细使用方法介绍
  2. php防止快速刷新代码(分享)_php防止网站被刷新的方法汇总
  3. mysql 10分钟一聚合_SQL-根据DateTime查询多个聚合-MySQL
  4. [RabbitMQ]常用命令
  5. [SpringBoot2]web场景_静态资源规则与定制化
  6. [JavaWeb-JavaScript]JavaScript_Data日期对象
  7. ROADS POJ - 1724(最短路+邻接表+dfs)
  8. Zookeeper--Watcher机制源码剖析二
  9. 常用决策树集成模型Random Forest、Adaboost、GBDT详解
  10. 微软100题第11题