博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj 2784: [JLOI2012]时间流逝【树形期望dp】
阅读量:5150 次
发布时间:2019-06-13

本文共 798 字,大约阅读时间需要 2 分钟。

1242898-20180918090024834-1637652080.png

来自lyd课件
发现s和last(s),next(s)成树结构,然后把式子化简成kx+b的形式,做树形dp即可

#include
#include
#include
using namespace std;int n,t,a[105];double p,q;struct qwe{ double k,b; qwe(double K=0,double B=0) { k=K,b=B; }};qwe dfs(int s,int mx){ if(s>t) return qwe(0,0); double ne,b=0,k=0,r=1; ne=1.0/(double)mx; for(int i=1;i<=mx;i++) { qwe nw=dfs(s+a[i],i); b=b+nw.b,k=k+nw.k; } q=s?p:0.0; r=1.0-(1.0-q)*ne*k; k=q/r; b=((1.0-q)*ne*b+1)/r; return qwe(k,b);}int main(){ while(~scanf("%lf%d%d",&p,&t,&n)) { for(int i=1;i<=n;i++) scanf("%d",&a[i]); sort(a+1,a+n+1); printf("%.3lf\n",dfs(0,n).b); } return 0;}

转载于:https://www.cnblogs.com/lokiii/p/9667020.html

你可能感兴趣的文章
javascript Prototype constructor的理解(转)
查看>>
Leetcode:Merge Sorted Array
查看>>
每天一个linux命令(文件上传下载文件操作):【转载】用SecureCRT来上传和下载文件...
查看>>
python的collection系列-双向队列和单向队列
查看>>
孤荷凌寒自学python第四天 安装python的其它IDE环境
查看>>
转:简单的Mysql主从复制设置
查看>>
实验五:任意输入10个int类型数据,排序输出,再找出素数
查看>>
[POJ1328] Radar Installation
查看>>
线程安全的单例模式还需要对成员变量的set get方法设置锁么
查看>>
[转] 张凌 ARM体系架构
查看>>
线段树+欧拉函数——cf1114F
查看>>
linux主机名莫名其妙变成了bogon,并解决修改为localhost
查看>>
C/C++应用程序内存泄漏检查统计方案
查看>>
virsh命令详解
查看>>
C#学习 第十节
查看>>
Vuex dispatch 和 commit
查看>>
这七类产品,医院临床最爱!
查看>>
IGF学生组游戏
查看>>
圆角高亮选项卡
查看>>
.net 怎么获取文件夹的图片
查看>>