守卫者的挑战(据说在bzoj有但我没找到)
2024-09-01 09:45:08
芒果君:一看就是概率dp(可是我不会啊,就算再裸也不会啊)。然后先从最后想,能够满足题意的状态是 挑战次数>=L,获得价值>=0,那一定有f[总挑战数i][挑战成功数j][价值k]。转移很好写,无非两种情况,成功和不成功。不成功,i+1,其他不变,值*(1-p[i]);成功,i+1,j+1,k+w,值是 ∑各种情况*p[i]。题目中有个关键信息是n<=200,也就是说极限情况是200* ±1,我们只需要开200*2的数组,将负数移个位。空间炸了怎么办,滚一滚啊。
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
double ans,p[],f[][][];
int n,t,m,w;
int main()
{
scanf("%d%d%d",&n,&t,&m);
m=min(m,n);
for(int i=;i<=n;++i) scanf("%lf",&p[i]),p[i]/=100.0;
f[][][n+m]=;
for(int i=;i<=n;++i){
scanf("%d",&w);
for(int j=;j<=n;++j) for(int k=;k<=(n<<);++k) f[i&][j][k]=f[i&^][j][k]*(-p[i]);
for(int j=;j<n;++j) for(int k=;k<=(n<<);++k) f[i&][j+][min(k+w,n<<)]+=f[i&^][j][k]*p[i];
}
for(int i=t;i<=n;++i) for(int j=n;j<=(n<<);++j) ans+=f[n&][i][j];
printf("%.6lf\n",ans);
return ;
}
最新文章
- Xamarin.iOS开发初体验
- 转 Android RadioButton设置选中时文字和背景颜色同时改变
- 【java基础学习】线程
- JavaScript基础10——node对象
- R编程感悟
- How to add “Maven Managed Dependencies” library in build path eclipse
- web api 上传
- 如何监控第三方应用程序(SOAP or RESTful client)访问HTTPS当数据站点?
- js实现tooltip动态提示效果(文字版)
- 四、 添加模型Model(ASP.NET MVC5 系列)
- 【webpack系列】从零搭建 webpack4+react 脚手架(四)
- Python3练习
- Centos7.3安装和配置Mysql5.7
- sql基本查询语句
- 27.给input边框和背景颜色设置全透明
- poj 1744 tree 树分治
- Phalcon框架之———— 2.0升级到3.0 问题Model验证问题解决
- Git本地仓库与远程github同步的时候提示fatal: remote origin already exists 错误解决办法
- [Jenkins] 在Jenkins执行单个test suite
- python学习笔记:第8天 文件操作
热门文章
- 洛谷 P1309 瑞士轮 题解
- PostgreSQL 使用PG_Rman进行物理备份
- 8、RDD持久化
- SpringMVC 捕获参数绑定失败时的异常
- Atcoder ABC 141
- JavaString在虚拟机中的实现
- HTML中调用带有SoapHeader头的WebService的两种方法
- Matrix: android 中的Matrix (android.graphics.Matrix) (转)
- java udp通信
- PorterDuffXfermode之PorterDuff.Mode.DST_IN