博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ZOJ 3640 Help Me Escape
阅读量:6709 次
发布时间:2019-06-25

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

期望,$dp$。

设$dp[i]$为当前战斗力为$i$的情况下,到达目标状态的期望值。倒着推一遍就可以了。

#pragma comment(linker, "/STACK:1024000000,1024000000")#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;typedef long long LL;const double pi=acos(-1.0),eps=1e-10;void File(){ freopen("D:\\in.txt","r",stdin); freopen("D:\\out.txt","w",stdout);}template
inline void read(T &x){ char c = getchar(); x = 0; while(!isdigit(c)) c = getchar(); while(isdigit(c)) { x = x * 10 + c - '0'; c = getchar(); }}double dp[25000];int n,f,c[15000],mx;int t[25000];int main(){ while(~scanf("%d%d",&n,&f)) { for(int i=1;i<=n;i++) { scanf("%d",&c[i]); mx=max(mx,c[i]); t[i]=(int)((1.0+sqrt(5.0))/2.0*c[i]*c[i]); } memset(dp,0,sizeof dp); for(int i=mx+1;i<=21000;i++) for(int j=1;j<=n;j++) dp[i]+=1.0/n*t[j]; for(int i=mx;i>=f;i--) { for(int j=1;j<=n;j++) { if(i>c[j]) dp[i]=dp[i]+1.0/n*t[j]; else dp[i]=dp[i]+1.0/n*(dp[i+c[j]]+1); } } printf("%.3f\n",dp[f]); } return 0;}

 

转载于:https://www.cnblogs.com/zufezzt/p/6343621.html

你可能感兴趣的文章
SIM_AT_Command
查看>>
Windows-- ×××安装与配置过程
查看>>
virtualbox安装ghost版本winxp iso
查看>>
rsync生产实战考试题模拟09
查看>>
Session详解
查看>>
我的友情链接
查看>>
基于centOS6.7搭建LAMP(httpd-2.4.18+mysql-5.5.47+php-5.6.16)环境
查看>>
AIX下PVID详解及其修改方法
查看>>
C# Directory和DirectoryInfo类(文件目录操作)
查看>>
OSPF中的五类LSA
查看>>
maven 加入json-lib.jar 报错 Missing artifact net.sf.js
查看>>
当Elasticsearch logstash kibana (ELK) 遇到symantec
查看>>
单片机的汇编语言与嵌入式C语言的比较
查看>>
POJ-2509(Water,Greedy)
查看>>
获取img元素图片的实际尺寸
查看>>
我的友情链接
查看>>
最新HADOOP 调优常用参数统计表
查看>>
haproxy 配置详解
查看>>
nginx代理resin
查看>>
Java编程最差实践
查看>>