Pick apples sdut 2408 (V 超大的背包)
2013-06-01 17:32
357 查看
大范围贪心,小范围背包
v大于1000,时先用贪心将性价比最高的填充,再用背包。
#include<stdio.h> #include<string.h> long long d[2100]; int max_num(int a,int b) { return a>b?a:b; }; int main() { long long i,j; long long m,w[10],p[10],v,n; double val,max; int id,x=1,t; scanf("%d",&t); while(t--) { max=0; for(i=1; i<=3; i++) { scanf("%lld%lld",&w[i],&p[i]); val=p[i]*1.0/w[i];//p和w弄反了,结果wrong了12遍 if(val>max) {id=i; max=val;} } scanf("%lld",&v); memset(d,0,sizeof(d)); m=0; if(v>1000) { n=(v-1000)/w[id]; m=n*p[id]; v-=n*w[id]; } for(i=1; i<=3; i++) for(j=w[i]; j<=v; j++) d[j]=max_num(d[j],d[j-w[i]]+p[i]); printf("Case %d: %lld\n",x,m+d[v]); x++; } return 0; }
v大于1000,时先用贪心将性价比最高的填充,再用背包。
相关文章推荐
- sdut2408 pick apples (贪心+背包)山东省第三届ACM省赛
- sdut2408 pick apples (贪心+背包)山东省第三届ACM省赛
- SDUT 2408 Pick apples 贪心+背包(大容量背包)
- SDUT ACM 2408 Pick apples 贪心+完全背包
- sdut2408 pick apples (贪心+背包)山东省第三届ACM省赛
- SDUT2408 Pick apples(贪心+完全背包)
- SDUT 2408 Pick apples(完全背包+贪心)2012年"浪潮杯"山东省第三届ACM大学生程序设计竞赛
- [2012山东ACM省赛] Pick apples (贪心,全然背包,枚举)
- [2012山东ACM省赛] Pick apples (贪心,完全背包,枚举)
- [2012山东ACM省赛] Pick apples (贪心,完全背包,枚举)
- [2012山东ACM省赛] Pick apples (贪心,完全背包,枚举)
- SDUT:2408 Pick apples(贪心+完全背包)
- UESTC Pick The Sticks (背包变形)
- poj 2486 Apple Tree (树形背包dp)
- SDUT_背包问题_2825_小P寻宝记_粗心的基友
- SDUT 3131-(多重背包)
- uestc oj 1218 Pick The Sticks (01背包变形)
- HDU5543 Pick The Sticks(01背包变种,dp)(2015CCPC)
- sdut2408 Pick apples(山东第三届省赛)
- SDUT 2061 Orange the Apple