hdu2955 Robberies (01背包)

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


最小风险概率=1-最大安全概率

状态转移方程dp[j]=max(dp[j-val[i]]*weight[i],dp[j])


#include 
#include 
#define MAXN 10002

double dp[MAXN],weight[MAXN];
int val[MAXN];

int main()
{
	int n,test,i,j,sum;
	double P;
	scanf("%d",&test);
	while(test--)
	{
		scanf("%lf %d",&P,&n);
		P=1-P;
		sum=0;
		for(i=0;i=val[i];--j)
				if(dp[j]=0;--i)
		{
			if(dp[i]-P>=1e-8)
			{
				printf("%d\n",i);
				break;
			}
		}
	}
	return 0;
}




你可能感兴趣的:(贪心&背包)