由于受定势思维的的影响,一直没想到反过来去求他没有被录上的情况,其实44.0%是这样来的,就是1-((1-0.2)*(1.0.3)),(1-0.2)*(1.0.3)是最小的被录取的情况,同时该题是一道01背包。
#include#include float DP( int money[],float a[], int N ,int M){ float f[10024]; for( int i=0; i<=M; i++ ) f[i]=1; for( int i=1; i<=N; i++ ) { for( int j=M; j>=0; j-- ) if( j>=money[i]&&f[ j-money[i] ]*a[i]