zoukankan      html  css  js  c++  java
  • HDU

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1203

    题意:

    该题要求得到一份offer的最大概率,在例子中的0.44 = 1-(1-0.2)*(1-0.3)这样求得。
    状态方程则为:max[j]=max{max[j],1-(1-max[j-mon[i]])*(1-pop[i])};

    Sample Input
    10 3
    4 0.1
    4 0.2
    5 0.3
    0 0
     
    
    Sample Output
    44.0%
    
    Hint
    
    You should use printf("%%") to print a '%'.
    
    

    ************************************************

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    #include<queue>
    #include<algorithm>
    #include<cmath>
    #include<iostream>
    
    using namespace std;
    typedef long long LL;
    
    #define INF 0x3f3f3f3f
    #define N 22000
    #define MAXN 100000000
    #define mod 1000000007
    
    double dp[N],g[N];
    int p[N];
    
    int main()
    {
        int n,m,i,j;
    
        while(scanf("%d %d", &n,&m),n+m)
        {
            memset(dp,0,sizeof(dp));
            memset(p,0,sizeof(p));
            memset(g,0,sizeof(g));
    
            for(i=1;i<=m;i++)
                scanf("%d %lf", &p[i], &g[i]);
    
            for(i=1;i<=m;i++)
                for(j=n;j>=p[i];j--)
                dp[j]=max(dp[j],1-(1-dp[j-p[i]])*(1-g[i]));
    
            printf("%.1f%%
    ", dp[n]*100);
        }
        return 0;
    }
     
  • 相关阅读:
    宝藏 题解
    Xorequ 题解
    2020.12.26 模拟赛 题解
    数据结构 100 题 1~10 线段树
    关于模拟退火
    诗意狗 题解
    Keyboading 思路
    体育成绩统计/ Score
    【(抄的)题解】P5686 [CSP-SJX2019]和积和
    【笔记】简单博弈
  • 原文地址:https://www.cnblogs.com/weiyuan/p/5744383.html
Copyright © 2011-2022 走看看