博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU - 4815 Little Tiger vs. Deep Monkey (长春赛区C题)
阅读量:6671 次
发布时间:2019-06-25

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

题意:有A,B两个人。n道题目。每题有相应的分数。B答对题目的概率是0.5。求A不输给B的概率不小于P要拿的最低分数

思路:DP,dp[i][j]来表示B答了前i题后分数为j的概率,,然后通过B的概率求A的最低分数

#include 
#include
#include
#include
using namespace std;const int MAXN = 40010;int a[MAXN],n;double P,dp[50][MAXN];int main() { int t; scanf("%d", &t); while (t--) { scanf("%d%lf", &n, &P); int sum = 0; for (int i = 0; i < n; i++) { scanf("%d", &a[i]); sum += a[i]; } memset(dp, 0, sizeof(dp)); dp[0][0] = 1; for (int i = 0; i < n; i++) for (int j = 0; j <= sum-a[i]; j++) if (dp[i][j] > 0) { dp[i+1][j+a[i]] += dp[i][j]*0.5; dp[i+1][j] += dp[i][j]*0.5; } int ans = 0; double cnt = 0; for (int i = 0; i <= sum; i++) { cnt += dp[n][i]; if (cnt >= P) { ans = i; break; } } printf("%d\n", ans); } return 0;}

转载地址:http://sblxo.baihongyu.com/

你可能感兴趣的文章
Python | 数据分析实战Ⅰ
查看>>
Salesforce开源TransmogrifAI:用于结构化数据的端到端AutoML库
查看>>
社会的分工合作(ASIC)才是带来人类富裕的基础
查看>>
全面剖析SharedPreferences
查看>>
0826 - 事情多到让人绝望啊
查看>>
Logback中使用TurboFilter实现日志级别等内容的动态修改
查看>>
Spring Boot中增强对MongoDB的配置(连接池等)
查看>>
网络安全-CSRF
查看>>
Andorid Studio NDK开发-Hello World
查看>>
IDEA中maven工程指定JDK版本
查看>>
Git 详细的操作指南笔记(从零开始)
查看>>
【手把手带你撸一个脚手架】第二步, 搭建开发环境
查看>>
JS专题之严格模式
查看>>
Python设计模式-装饰器模式
查看>>
前端每周清单第 30 期:WebVR 指南,Vue 代码分割范式,理想的 React 架构特性
查看>>
C 语言结构体内存布局问题
查看>>
js 数组排序
查看>>
iOS VIPER架构实践(一):从MVC到MVVM到VIPER
查看>>
Android鬼点子-近期项目总结(2)-日历
查看>>
是时候学习真正的 spark 技术了
查看>>