http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4995

0-1背包,按照时间排序保证总时间最小。以后写if-else注意多continue,还有0-1背包不需要多加一维。

以后注意。

View Code

const int MM = 1111;
#define debug puts("wrong")
//typedef __int64 int64;
int N,M;
int dp[MM][4];
struct Info{int t,v;}g[MM];
bool cmp(Info x,Info y) {return x.t==y.t?x.v<y.v:x.t<y.t;}
/*
100
10 5
2 4 6 8 10
2 4 6 8 10
*/
void get_data() {int i,j,k;scanf("%d%d",&M,&N);for(i=1;i<=N;i++) scanf("%d",&g[i].t);for(i=1;i<=N;i++) scanf("%d",&g[i].v);sort(g+1,g+N+1,cmp);
}
void solve() {int i,j,k,tmp,t1,tt;memset(dp,0,sizeof(dp));for(i=1;i<=N;i++) {for(j=M;j>=g[i].t;j--) {tmp=dp[j-g[i].t][0]+g[i].v;if(tmp>dp[j][0]) {dp[j][0]=tmp;dp[j][1]=dp[j-g[i].t][1]+1;dp[j][2]=dp[j-g[i].t][2]+j;continue;}else if(tmp==dp[j][0]) {tt=dp[j-g[i].t][1]+1;if(tt>dp[j][1]) {dp[j][1]=tt;dp[j][2]=dp[j-g[i].t][2]+j;continue;}else if(tt==dp[j][1]) {t1=dp[j-g[i].t][2]+j;dp[j][2]=f_min(t1,dp[j][2]);continue;}}//    printf("%d %d %d %d %d\n",i,j,dp[j][0],dp[j][1],dp[j][2]);
        }}int a1=-1,a2=-1,a3=-1;for(i=0;i<=M;i++) {if(a1==-1||dp[i][0]>a1) {a1=dp[i][0], a2=dp[i][1], a3=dp[i][2];continue;}if(dp[i][0]==a1) {if(a2==-1||a2<dp[i][1]) {a2=dp[i][1], a3=dp[i][2];continue;}if(a2==dp[i][1]) {if(a3==-1||a3>dp[i][2]) a3=dp[i][2];}}}printf("%d %d %d\n",a1,a2,a3);
}
int main() {int ca; scanf("%d",&ca);while(ca--) get_data(),solve();return 0;
}

转载于:https://www.cnblogs.com/zhang1107/archive/2013/04/26/3044693.html

Happy Programming Contest相关推荐

  1. 2015 HIAST Collegiate Programming Contest J

    Polygons Intersection 题意:给2个凸多边形,求相交面积 思路:不会,套板子就是了 AC代码: #include "iostream" #include &qu ...

  2. (寒假开黑gym)2017-2018 ACM-ICPC German Collegiate Programming Contest (GCPC 2017)

    layout: post title: (寒假开黑gym)2017-2018 ACM-ICPC German Collegiate Programming Contest (GCPC 2017) au ...

  3. The 15th UESTC Programming Contest Preliminary C - C0ins cdoj1554

    地址:http://acm.uestc.edu.cn/#/problem/show/1554 题目: C0ins Time Limit: 3000/1000MS (Java/Others)     M ...

  4. 【AtCoder】diverta 2019 Programming Contest 2

    diverta 2019 Programming Contest 2 A - Ball Distribution 特判一下一个人的,否则是\(N - (K - 1) - 1\) #include &l ...

  5. 2018 German Collegiate Programming Contest (GCPC 18)

    2018 German Collegiate Programming Contest (GCPC 18) Attack on Alpha-Zet 建树,求lca 代码: #include <al ...

  6. Atcoder Keyence Programming Contest 2020 D - Swap and Flip

    Atcoder Keyence Programming Contest 2020 D - Swap and Flip 题目描述 Solution 写了一个简单的O(2nn(n+w))O(2^nn(n+ ...

  7. 2018-2019 ICPC Northwestern European Regional Programming Contest (NWERC 2018)

    2018-2019 ICPC Northwestern European Regional Programming Contest (NWERC 2018) 题号 题目 知识点 难度 A Access ...

  8. NOMURA Programming Contest 2021(AtCoder Regular Contest 121)

    文章目录 A - 2nd Greatest Distance B - RGB Matching C - Odd Even Sort D - 1 or 2 E - Directed Tree F - L ...

  9. Caddi Programming Contest 2021(AtCoder Beginner Contest 193) 题解

    Caddi Programming Contest 2021(AtCoder Beginner Contest 193) A - Discount 打折浮点数除即可 B - Play Snuke 枚举 ...

  10. Mynavi Programming Contest 2021(AtCoder Beginner Contest 201)题解

    文章目录 A - Tiny Arithmetic Sequence B - Do you know the second highest mountain? C - Secret Number D - ...

最新文章

  1. 服务器操作系统安全更新,服务器操作系统安全更新
  2. surf三维画图[matlab]
  3. 通过Docker发布RestAPI遇到的种种问题
  4. orange pi java_[中文]Orange Pi家族各大成员一览表
  5. win7 无法修改 host 文件解决方案
  6. [转载] 羽毛球——学打羽毛球 08 接发球 发球
  7. 计算机二级excel经典操作题,计算机二级office经典题库
  8. 地图定位--制作公司地图位置
  9. html左右箭头翻页代码,左右箭头图片_js实现图片上显示左右箭头类似翻页效果的代码...
  10. Packet Sniffing and Spoofing Lab(报文嗅探欺骗SEED 实验)
  11. 静态方法能被重写么?
  12. 人脸识别 人脸实名认证
  13. HNU程序设计-小数化分数
  14. 无线双向网助贵州广电打造融合网络
  15. 平安产险深圳分公司:邓斌出任中国平安首席投资执行官 夯实投管体系和能力建设
  16. ORB-SLAM2 ---- ORBmatcher::SearchForTriangulation函数
  17. 3D模型免费下载网站大全
  18. Educational Codeforces Round 105 (Rated for Div. 2) 题解
  19. java quickfix_QuickFix Java 讲解(一)概述、下载方法,和协议内容
  20. paddlehub自动抠图-人像

热门文章

  1. VS2010怎样显示行号
  2. Vue中使用定时器setInterval和延迟执行setTimeout
  3. Android开发笔记(一百一十九)工具栏ToolBar
  4. 计算机磁盘管理使用不,win10系统提示“操作无法完成,因为磁盘管理控制台不是最新状态”的处理方法...
  5. 万能指针 和 指针大小与指针步长的区别
  6. 打牢Python基础,看看这10语法如何
  7. 引用类型 —— Array类型
  8. java-jdk7新特性
  9. .net快速创建PDF文档 by c#
  10. 【FFMPEG系列】之工具调试:gprof性能分析