hdu2955
来源:互联网 发布:淘宝哪家美国代购靠谱 编辑:程序博客网 时间:2024/06/07 17:46
/*
分析:
01背包小变异。
dp[i][l]=min(dp[i-1][l],dp[i-1][l-E[i].m]+E[i].p*(1-dp[i-1][l-E[i].m]))。
2012-05-10
*/
分析:
01背包小变异。
dp[i][l]=min(dp[i-1][l],dp[i-1][l-E[i].m]+E[i].p*(1-dp[i-1][l-E[i].m]))。
2012-05-10
*/
#include"stdio.h"#include"string.h"double min(double a,double b){return a>b?b:a;}int main(){ int T; int n; double P; struct A { int m; double p; }E[111]; int i,l,sum; double dp[10011]; int flag[10011]; scanf("%d",&T); while(T--) { scanf("%lf%d",&P,&n); sum=0; for(i=1;i<=n;i++) { scanf("%d%lf",&E[i].m,&E[i].p); sum+=E[i].m; } for(l=1;l<=sum;l++)flag[l]=-1; flag[0]=1;for(l=1;l<=sum;l++)dp[l]=1;dp[0]=0; for(i=1;i<=n;i++) { for(l=sum;l-E[i].m>=0;l--) {if(flag[l-E[i].m]!=1)continue; dp[l]=min(dp[l],dp[l-E[i].m]+E[i].p*(1-dp[l-E[i].m])); flag[l]=1; } } for(l=sum;l>=0;l--) { if(dp[l]<=P&&flag[l]==1) { printf("%d\n",l); break; } } } return 0;}
- hdu2955
- HDU2955
- HDU2955
- hdu2955
- hdu2955
- hdu2955
- HDU2955
- HDU2955
- HDU2955
- hdu2955
- HDU2955
- hdu2955
- HDU2955 Robberies
- hdu2955-Robberies
- hdu2955 Robberies
- HDU2955 Robberies
- hdu2955 Robberies
- HDU2955-Robberies
- Java的包访问权限(friendly)
- Mysql 中触发器的用法
- 第十三周任务一(通过程序分析理解虚函数, 多态性和抽象类)
- [面试题]设计一个算法找到数组中两个元素相加等于指定数的所有组合
- 模板——函数模板与类模板
- hdu2955
- 汉诺塔算法//printf("%d:%c->%c\n",n,one,three);
- poj 1850 Code
- Java 7u4开始支持OSX
- android 应用 heap size分配
- Ubuntu12.04下eclipse提示框黑色背景色的修改方法
- 互联网手机躁动:“周大炮”追逐“雷布斯”
- 四大电商对垒价格战:家电高库存或是推手
- 在iframe中使用js代码实现自动设置栽入的页面的高度