2016秋季练习
来源:互联网 发布:淘宝甩手铺货 编辑:程序博客网 时间:2024/06/10 21:03
来源:HDU5887
背包,但是主要因为数据太大,所以。。。
代码:
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <map>#define fff (it->first)#define sss (it->second)using namespace std;typedef long long LL;LL n,timl;const int MAXN = 110;LL t[MAXN],cost[MAXN];map<LL,LL>mp;int main(){ while(scanf("%lld%lld",&n,&timl)!=EOF){ mp.clear(); mp[0]=0;; for(int i=1;i<=n;i++) { scanf("%lld%lld",&t[i],&cost[i]); } for(int i=1;i<=n;i++) { LL tt = t[i]; LL cos = cost[i]; map<LL,LL>::reverse_iterator it0; for(it0 = mp.rbegin();it0!=mp.rend();it0++){ LL ff = it0->first; if(mp[ff+tt]) mp[ff+tt] = max(mp[ff]+cos,mp[ff+tt]); else mp[ff+tt] = mp[ff] + cos; } map<LL,LL>::iterator it; LL maxn = 0; for(it = mp.begin();it!=mp.end();) { if(it == mp.begin()) { it ++; continue; } if(fff>timl) { map<LL,LL>::iterator itt = it; it ++ ; mp.erase(itt); continue; } if(maxn>=sss){ map<LL,LL>::iterator itt = it; it ++; mp.erase(itt); } else{ maxn = sss; it++; } } } LL ans = -1; map<LL,LL>::iterator it; for(it=mp.begin();it!=mp.end();++it) { ans = max(ans,sss); } printf("%lld\n",ans); } return 0;}
0 0
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- bitmap 图片优化
- JSP与Servlet的跳转及得到路径方法整理
- JavaScript原型、闭包、继承和原型链等等总结
- PAT乙级训练题--1001
- 绘制地图&热力图-R语言
- 2016秋季练习
- Thread类
- 如何用spring集成mongodb实现文件上传
- [bzoj2086][Poi2010]Blocks 单调栈
- PAT乙级训练题--1002
- 兼容iOS 10 资料整理笔记
- HTML meta 标签
- hdu 5890 Eighty seven 背包bitset
- 老鸟程序员知道而新手不知道的小技巧