hdu2955 概率dp
来源:互联网 发布:周立功单片机官网 编辑:程序博客网 时间:2024/05/13 19:57
//dp[i]保存盗取i的钱时不被抓的最大概率//dp[i]=max(dp[i],dp[i-W[j]]*P[j]),W[j]表示这家银行所拥有的的钱,P[j]表示在这家银行不被抓的概率#include<iostream>#include<algorithm>using namespace std;const int maxn = 107;int D[maxn];double B[maxn];double dp[maxn * 100];//dp[i]定义为得到i的钱时的最高生存概率bool vis[maxn * 100];int main(){ int T; cin >> T; while (T--) { memset(vis, 0, sizeof(vis)); for (int i = 0; i < maxn * 100; i++) { dp[i] = 0.0; } double P; int N; cin >> P >> N; P = 1 - P; double p; for (int i = 1; i <= N; i++) { cin >> D[i] >> p; B[i] = 1 - p; } dp[0] = 1; vis[0] = 1; int maxloc = 0; for (int i = 1; i <= N; i++) { for (int j = maxloc; j >= 0; j--) { if (vis[j]) { int k = j + D[i]; maxloc = max(k, maxloc); vis[k] = 1; dp[k] = max(dp[k], dp[j] * B[i]); } } } int ans = 0; for (int i = maxloc; i >=0; i--) { if (vis[i] && dp[i] >= P) { ans = i; break; } } cout << ans << endl; } return 0;;}
0 0
- hdu2955 概率dp?
- hdu2955 概率dp
- hdu2955 dp
- HDU2955概率背包
- hdu2955 Robberies (01背包概率)
- 【DP(背包)】 hdu2955 Robberies
- [HDU2955]Robberies[dp]
- hdu2955 dp(背包)
- HDU2955 Robberies DP
- DP激情奉献(一)hdu2955
- hdu2955 Robberies 01背包 dp
- HDU2955 Robberies(特殊思路,概率背包)
- hdu2955---Robberies(概率做01背包)
- hdu2955-Robberies(01背包 概率 )
- hdu2955
- HDU2955
- HDU2955
- hdu2955
- Centos安装Wordpress权限问题
- es5--js实现对象注册
- 将博客搬至CSDN
- 【Zynq学习笔记1】入手资料合集
- java中静态代码块的用法 static用法详解
- hdu2955 概率dp
- C++回调函数小结
- ORACLE用户管理
- 如何写好简历
- BCD(Binary-Coded Decimal)
- 深入PHP面向对象、模式与实践——高级特性(3)
- canvas封闭图形填充与
- 鸟哥的linux私房菜学习笔记《三十三》逻辑卷管理
- 欢迎使用CSDN-markdown编辑器