BZOJ4318: OSU! (概率DP)
2024-08-23 19:48:25
题意:一个串 给出每个字符为1的可能性 否则为0
一段连续的1能获得长度的立方的收益
问总收益的期望
题解:设x_i为到第i位时连续的1的期望长度
由i-1递推来的贡献 如果这一位是0没有贡献 如果是1 就是(x_i - 1 + 1)* pi
设x2_i为期望长度的平方 有(x + 1)^2 可以递推出来 x2_i = x2_i - 1 + 2 * x_i - 1 + 1
ans_i即为期望的得分 对于第i位 为0贡献就只有ans_i - 1
如果为1 就应该减去ans_i - 1以1结尾的贡献 再加上连续到i为1结尾的贡献 化简一下
#include <bits/stdc++.h>
using namespace std; double p[];
double x[], x2[], ans[];
int main()
{
int n;
scanf("%d", &n); for(int i = ; i <= n; i++)
{
scanf("%lf", &p[i]);
x[i] = p[i] * (x[i - ] + 1.0);
x2[i] = p[i] * (x2[i - ] + * x[i - ] + 1.0);
ans[i] = ans[i - ] + p[i] * ( * x2[i - ] + * x[i - ] + );
}
printf("%.1lf\n", ans[n]);
return ;
}
最新文章
- IE兼容问题,各类css hack代码(亲测有效)
- HTML DOM元素的Dragdrop
- Unity3D 物体移动方式
- 后台返回JSON关于日期的格式化
- Tomcat入门指南
- 13.第一个只出现一次的字符[FindFirstNotRepeatingChar]
- MySql 查询一周内最近7天记录
- 使用prototype 对象定义类成员
- eclipse导出jar包
- HDU 5745 La Vie en rose
- dos下循环复制一张图片的bat
- IntelliJ IDEA 14 注册码及注册码生成器
- zabbix 配置发送邮件报警
- 理解JavaScript原型
- C#_asp.net mvc 验证码功能的具体实现
- [elk]验证mapping字段数和数据字段数关系
- 【腾讯Bugly干货分享】Android内存优化总结&;实践
- ORACLE实际执行计划与预估执行计划不一致性能优化案例
- (4)Python列表list
- spring-boot与spring-data-JPA的简单整合