传送门

解题思路

dp[i][j][k]表示前i个挑战,赢了j场,现在还有k个包的获胜概率。

转移方程:

dp[i+1][j+1][k+a[i]] += p[i+1]*dp[i][j][k] (k+a[i]>=0)

dp[i+1][j][k]+=(1-p[i+1])*dp[i][j][k]

时间复杂度O(n^3)

代码

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm> using namespace std;
const int MAXN = 205; inline int rd(){
int x=0,f=1;char ch=getchar();
while(!isdigit(ch)) {if(ch=='-') f=-1;ch=getchar();}
while(isdigit(ch)) {x=(x<<1)+(x<<3)+ch-'0';ch=getchar();}
return x*f;
} int n,k,L;
double dp[MAXN][MAXN][MAXN],ans; struct Bag{
double p;
int a;
}bag[MAXN]; inline bool cmp(Bag x,Bag y){
return x.a>y.a;
} int main(){
n=rd();L=rd();k=rd();
for(register int i=1;i<=n;i++) {
int x=rd();
bag[i].p=(double)x/100;
}
for(register int i=1;i<=n;i++) bag[i].a=rd();
sort(bag+1,bag+1+n,cmp);
dp[0][0][k]=1;
for(register int i=0;i<n;i++)
for(register int j=0;j<=i;j++)
for(register int o=n;o>=0;o--){
dp[i+1][j][o]+=dp[i][j][o]*(1-bag[i+1].p);
if(o+bag[i+1].a<0) continue;
dp[i+1][j+1][min(o+bag[i+1].a,n)]+=dp[i][j][o]*bag[i+1].p;
}
for(register int i=0;i<=n;i++)
for(register int j=L;j<=n;j++)
ans+=dp[n][j][i];
printf("%.6lf",ans);
return 0;
}

tyvj 1864 守卫者的挑战的更多相关文章

  1. TYVJ.1864.[Poetize I]守卫者的挑战(概率DP)

    题目链接...无 题目: P1864 [Poetize I]守卫者的挑战 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 打开了黑魔法师Vani的大门,队员们 ...

  2. Tyvj 1864 [Poetize I]守卫者的挑战

    P1864 [Poetize I]守卫者的挑战时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 打开了黑魔法师Vani的大门,队员们在迷宫般的路上漫无目的地搜寻 ...

  3. tyvj P1864 [Poetize I]守卫者的挑战(DP+概率)

    P1864 [Poetize I]守卫者的挑战 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 打开了黑魔法师Vani的大门,队员们在迷宫般的路上漫无目的地搜 ...

  4. 【TYVJ1864】[Poetize I]守卫者的挑战 概率与期望

    [TYVJ1864][Poetize I]守卫者的挑战 描述 打开了黑魔法师Vani的大门,队员们在迷宫般的路上漫无目的地搜寻着关押applepi的监狱的所在地.突然,眼前一道亮光闪过."我 ...

  5. TYVJ1864 守卫者的挑战

    P1864 [Poetize I]守卫者的挑战 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 打开了黑魔法师Vani的大门,队员们在迷宫般的路上漫无目的地搜 ...

  6. TYVJ-P1864 守卫者的挑战 题解

    P1864 [Poetize I]守卫者的挑战 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 打开了黑魔法师Vani的大门,队员们在迷宫般的路上漫无目的地搜 ...

  7. 【BZOJ3029】守卫者的挑战 [期望DP]

    守卫者的挑战 Time Limit: 2 Sec  Memory Limit: 128 MB[Submit][Status][Discuss] Description 打开了黑魔法师Vani的大门,队 ...

  8. 【BZOJ3029】守卫者的挑战 概率+背包

    [BZOJ3029]守卫者的挑战 Description 打开了黑魔法师Vani的大门,队员们在迷宫般的路上漫无目的地搜寻着关押applepi的监狱的所在地.突然,眼前一道亮光闪过.“我,Nizem, ...

  9. Tyvj——P1864 [Poetize I]守卫者的挑战

    来源:http://www.tyvj.cn/p/1864 描述 打开了黑魔法师Vani的大门,队员们在迷宫般的路上漫无目的地搜寻着关押applepi的监狱的所在地.突然,眼前一道亮光闪过.“我,Niz ...

随机推荐

  1. 通过数据库中的表,使用 MyEclipse2017的反向生成工具-->hibernate反转引擎引擎(MyEclipse2017自带的插件) 来反转生成实体类和对应的映射文件

    通过数据库中的表,使用 MyEclipse2017的反向生成工具-->hibernate反转引擎引擎(MyEclipse2017自带的插件) 来反转生成实体类和对应的映射文件   文章目录 Ja ...

  2. 学而有道--思维导图式总结(一):Nosql分类

    前言: 众所周知,学习是需要方法的.作为一名java程序员,我们需要学习无数的技能,然而我们的大脑并不买账,学习了一项知识,时间一久就会遗忘, 如何更好高效的回忆起曾经学习过的知识,是极其重要的. 有 ...

  3. nginx+supervisor 前后端分离项目的发布流程

    [第一部分] 前端发布(vue项目),假设项目名为demo_vue Step1:编译打包前端项目 cd到demo_vue目录下, 执行cnpm run build:prod命令,生成disc文件夹 S ...

  4. Unity优化垃圾回收GC

  5. NoSQL 列族数据库

  6. 网络结构解读之inception系列五:Inception V4

    网络结构解读之inception系列五:Inception V4 在残差逐渐当道时,google开始研究inception和残差网络的性能差异以及结合的可能性,并且给出了实验结构. 本文思想阐述不多, ...

  7. 2、设备树的规范(dts和dtb格式)

    第01节_DTS格式(1) 语法:Devicetree node格式:[label:] node-name[@unit-address] { [properties definitions]      ...

  8. dump与load

    dump与load 简化了dumps与loads

  9. Android Studio && NDK开发

    Android Studio下载安装网址:http://www.android-studio.org/index.php/download/hisversion 在下载界面可以查看安装包内是否包含SD ...

  10. webpack4.0打包的时候一些技巧

    4.0的webpack要比之前的版本强大的不是一点点 打包的时候也做了很多优化 然后说一些这段时间发现的有趣的技巧 1. 打包出来的文件很大,不知道是什么原因可以用 webpack-bundle-an ...