hdu2955 01背包

来源:互联网 发布:python股票自动化交易 编辑:程序博客网 时间:2024/06/05 20:08

题目链接:点击打开链接

看的别人的思路写的。。。点击打开链接


#include <iostream>#include<cstring>using namespace std;const int maxn=1e5+10;int m[maxn];int main(){    int t,i,j,n,sum;    double p0,p[maxn],dp[maxn];   cin>>t;   while(t--)   {       sum=0;       cin>>p0>>n;       for(i=1;i<=n;i++)       {             cin>>m[i]>>p[i];             sum+=m[i];       }       memset(dp,0,sizeof(dp));  dp[0]=1;            for(i=1;i<=n;i++)        for(j=sum;j>=m[i];j--)            dp[j]=max(dp[j],dp[j-m[i]]*(1-p[i]));        for(i=sum;i>=0;i--)            if(dp[i]>1-p0)        {              cout<<i<<endl;              break;        }   }    return 0;}


原创粉丝点击