HDU 1203 I NEED A OFFER!(01背包基础题)
2014-07-17 20:52
423 查看
题目链接: I NEED A OFFER!
中文题。
注意从反面考虑和边界。
AC代码:
反思:又是一道逆向思维的题目。学习DP的时候注意边界和状态方程的由来。
中文题。
注意从反面考虑和边界。
AC代码:
#include<stdio.h> #include<string.h> #define Min(a,b) a<b?a:b int main() { int n,m,j; int i,a[10000]; double b[10000]; double dp[10000]; while(scanf("%d %d",&n,&m)!=EOF,(n+m)) { for(i=0;i<=n;i++)//概率相乘,dp初始化为1.0 dp[i]=1.0; for(i=0;i<m;i++) { scanf("%d %lf",&a[i],&b[i]); b[i]=1.0-b[i];//那不到offer的概率 } for(i=0;i<m;i++) { for(j=n;j>=a[i];j--) { dp[j]=Min(dp[j],dp[j-a[i]]*b[i]); } } printf("%.1lf%%\n",(1.0-dp )*100); } return 0; }
反思:又是一道逆向思维的题目。学习DP的时候注意边界和状态方程的由来。
相关文章推荐
- HDU 1203 I NEED A OFFER!(01背包概率问题)
- HDU 1203 I NEED A OFFER!(01 背包DP)
- HDU1203--I NEED A OFFER!--01背包
- HDU 1203 I NEED A OFFER!(01背包)
- 【HDU 1203】 I NEED A OFFER!(01背包)
- hdu 1203 I NEED A OFFER! 不错的01背包求最小值
- HDU - 1203 I NEED A OFFER! (01背包变形)
- [HDU 1203 I NEED A OFFER!] 01背包
- I NEED A OFFER! hdu 1203 01 背包
- hdu 1203 I NEED A OFFER!--01背包
- HDU 1203 I NEED A OFFER!(基础背包)
- HDU 1203 I NEED A OFFER! ,01背包改编。
- [ACM] hdu 1203 I NEED A OFFER!(小数背包)
- hdoj 1203 I NEED A OFFER! 【01-背包】
- hdu 1203 I NEED A OFFER (0-1背包)
- HDU 1203 I NEED A OFFER! (背包的多项式操作)
- hdu 1203 dp(0,1 背包) I NEED A OFFER!
- hdu 1203 I NEED A OFFER!(0/1背包)
- HDU 1203 I NEED A OFFER! 0-1背包
- HDU 1203 I NEED A OFFER! (背包)