洛谷 P2392 kkksc03考前临时抱佛脚
题目背景
kkksc03的大学生活非常的颓废,平时根本不学习。但是,临近期末考试,他必须要开始抱佛脚,以求不挂科。
题目描述
这次期末考试,kkksc03需要考4科。因此要开始刷习题集,每科都有一个习题集,分别有s1,s2,s3,s4道题目,完成每道题目需要一些时间,可能不等(A1...As1,B1...Bs2,C1...Cs3,D1...Ds4)。
kkksc03有一个能力,他的左右两个大脑可以同时计算2道不同的题目,但是仅限于同一科。因此,kkksc03必须一科一科的复习。
由于kkksc03还急着去处理洛谷的bug,因此他希望尽快把事情做完,所以他希望知道能够完成复习的最短时间
输入输出格式
输入格式:
本题包含5行数据:第1行,为s1,s2,s3,s4(1≤s1,s2,s3,s4≤20)
第2行,为A1...As1 共s1个数,表示第一科习题集每道题目所消耗的时间。
第3行,为B1...Bs2 共s2个数,
第4行,为C1...Cs3 共s3个数,
第5行,为D1...Ds4 共s4个数,意思均同上。
(1≤A1...As1,B1...Bs2,C1...Cs3,D1...Ds4≤60)
输出格式:
输出一行,为复习完毕最短时间。
输入输出样例
1 2 1 3
5
4 3
6
2 4 3
20
思路:背包。
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int f[];
int a,b,c,d,ans;
int sum1,sum2,sum3,sum4;
int num1[],num2[],num3[],num4[];
int main(){
scanf("%d%d%d%d",&a,&b,&c,&d);
for(int i=;i<=a;i++) scanf("%d",&num1[i]),sum1+=num1[i];
for(int i=;i<=b;i++) scanf("%d",&num2[i]),sum2+=num2[i];
for(int i=;i<=c;i++) scanf("%d",&num3[i]),sum3+=num3[i];
for(int i=;i<=d;i++) scanf("%d",&num4[i]),sum4+=num4[i];
for(int i=;i<=a;i++)
for(int j=sum1/;j>=num1[i];j--)
f[j]=max(f[j],f[j-num1[i]]+num1[i]);
ans+=sum1-f[sum1/];
memset(f,,sizeof(f));
for(int i=;i<=b;i++)
for(int j=sum2/;j>=num2[i];j--)
f[j]=max(f[j],f[j-num2[i]]+num2[i]);
ans+=sum2-f[sum2/];
memset(f,,sizeof(f));
for(int i=;i<=c;i++)
for(int j=sum3/;j>=num3[i];j--)
f[j]=max(f[j],f[j-num3[i]]+num3[i]);
ans+=sum3-f[sum3/];
memset(f,,sizeof(f));
for(int i=;i<=d;i++)
for(int j=sum4/;j>=num4[i];j--)
f[j]=max(f[j],f[j-num4[i]]+num4[i]);
ans+=sum4-f[sum4/];
cout<<ans;
}
洛谷 P2392 kkksc03考前临时抱佛脚的更多相关文章
- 洛谷 P2392 kkksc03考前临时抱佛脚, dp / 深搜
题目链接 P2392 kkksc03考前临时抱佛脚 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目 dp代码 #include <iostream> #includ ...
- 01背包---P2392 kkksc03考前临时抱佛脚
P2392 kkksc03考前临时抱佛脚 题解 01背包,类似于这道题,相似度99.999999%: 01-背包 P2663 越越的组队 一共有4科,每科的时间独立,然后每一科做一遍 P2663越 ...
- 【洛谷1855】 榨取kkksc03
题面 前面省去一堆背景内容 洛谷的运营组决定,如果一名oier向他的教练推荐洛谷,并能够成功的使用(成功使用的定义是:该团队有20个或以上的成员,上传10道以上的私有题目,布置过一次作业并成功举办过一 ...
- 洛谷1855 榨取kkksc03
题目描述 洛谷2的团队功能是其他任何oj和工具难以达到的.借助洛谷强大的服务器资源,任何学校都可以在洛谷上零成本的搭建oj并高效率的完成训练计划. 为什么说是搭建oj呢?为什么高效呢? 因为,你可以上 ...
- 【洛谷】【动态规划/二维背包】P1855 榨取kkksc03
[题目描述:] ... (宣传luogu2的内容被自动省略) 洛谷的运营组决定,如果...,那么他可以浪费掉kkksc03的一些时间的同时消耗掉kkksc03的一些金钱以满足自己的一个愿望. Kkks ...
- 洛谷 P1855 榨取kkksc03
题目描述 洛谷2的团队功能是其他任何oj和工具难以达到的.借助洛谷强大的服务器资源,任何学校都可以在洛谷上零成本的搭建oj并高效率的完成训练计划. 为什么说是搭建oj呢?为什么高效呢? 因为,你可以上 ...
- 洛谷—— P1855 榨取kkksc03
https://www.luogu.org/problem/show?pid=1855 题目描述 洛谷2的团队功能是其他任何oj和工具难以达到的.借助洛谷强大的服务器资源,任何学校都可以在洛谷上零成本 ...
- 洛谷 P1855 榨取kkksc03 题解
P1855 榨取kkksc03 题目描述 洛谷2的团队功能是其他任何oj和工具难以达到的.借助洛谷强大的服务器资源,任何学校都可以在洛谷上零成本的搭建oj并高效率的完成训练计划. 为什么说是搭建oj呢 ...
- 洛谷P1855 榨取kkksc03 [2017年4月计划 动态规划 09]
P1855 榨取kkksc03 题目描述 洛谷的运营组决定,如果一名oier向他的教练推荐洛谷,并能够成功的使用(成功使用的定义是:该团队有20个或以上的成员,上传10道以上的私有题目,布置过一次作业 ...
随机推荐
- 05-数据类型转换(bool转换)
05-数据类型转换(bool转换)
- glLoadIdentity
参考文章:百度百科 OpenGL函数思考-glLoadIdentity OpenGL为我们提供了一个非常简单的恢复初始坐标系的手段,那就是调用glLoadIdentity()命令.该命令是一个无参的无 ...
- aui-dialog改造,支持关闭
1.打开aui-dialog.js 添加关闭html代码 var headerHtml = params.title ? '<div class="aui-dialog-header ...
- syslog介绍-CS架构来采集系统日志
syslog架构 Unix/Linux系统中的大部分日志都是通过一种叫做syslog的机制产生和维护的.syslog是一种标准的协议,分为客户端和服务器端,客户端是产生日志消息的一方,而服务器端负责接 ...
- 字典(dictionary)与映射(map)
1. 字典:key-value 键值对 反转字典:reverse_dict = dict(zip(D.values(), D.keys())) 前提要保证 D 的 value 不会出现重复,因为字典反 ...
- Linux下清除系统日志方法
摘要:相信大家都是用过Windows的人.对于Windows下饱受诟病的各种垃圾文件都需要自己想办法删除,不然你的系统将会变得越来越大,越来越迟钝!windows怎么清理垃圾相信大家都知道的,那么li ...
- Linux下搭建iSCSI共享存储详细步骤(服务器模拟IPSAN存储)
一.简介 iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够 ...
- 分享《Python 游戏编程快速上手(第3版)》高清中文版PDF+高清英文版PDF+源代码
通过编写一个个小巧.有趣的游戏来学习Python,通过实例来解释编程的原理的方式.14个游戏程序和示例,介绍了Python基础知识.数据类型.函数.流程控制.程序调试.流程图设计.字符串操作.列表和字 ...
- paste---合并文件的列。
Linux paste命令用于合并文件的列. paste指令会把每个文件以列对列的方式,一列列地加以合并. 语法 paste [-s][-d <间隔字符>][--help][--versi ...
- scp---远程拷贝文件
scp命令用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器硬盘变为只读read onl ...