[OI] 二项式期望 DP
OSU
OSU 的题目是这样的:有一些相邻的块,给定每一个块的联通概率,每个连通块对答案有
关于此题我曾写过题解 此处
此类题的关键之处在于,当我们设计了一个线性状态
引入两个变量
容易想到
考虑
因为
因此,我们只需要维护出
下面我们来加上概率考虑
期望有一个性质(期望的线性性)
对于
否则,对于
否则,对于随机选择的块,直接用上述两种情况乘对应的概率即可,即:
注意到我们还没有维护
对于
对于
否则,按照上述思路,应为
接着考虑维护
对于
对于
否则,按照上述思路,应为
因为已经维护过了
#include<bits/stdc++.h>
using namespace std;
int n;
double p[100001],l1[100001],l2[100001],s[100001];
int main(){
cin>>n;
for(int i=1;i<=n;++i){
cin>>p[i];
}
for(int i=1;i<=n;++i){
l1[i]=p[i]*(l1[i-1]+1);
l2[i]=p[i]*(l2[i-1]+2*l1[i-1]+1);
s[i]=(1-p[i])*s[i-1]+p[i]*(s[i-1]+3*l2[i-1]+3*l1[i-1]+1);
}
printf("%.1lf",s[n]);
}
Another OSU
OSU 的
这一次我们不能再像上述一个一个推式子了,我们需要找一个普遍的规律:
对于刚才的问题我们发现:要想维护一个
有二项式定理,即
可以发现在这里实际上用到了全部次数比它低的
此外,除了用二项式定理求
杨辉三角递推式:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!