洛谷 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道以上的私有题目,布置过一次作业 ...
随机推荐
- [NOIP2015提高组]运输计划
题目:BZOJ4326.洛谷P2680.Vijos P1983.UOJ#150.codevs4632.codevs5440. 题目大意:有一棵带权树,有一些运输计划,第i个运输计划从ai到bi,耗时为 ...
- 以替换为主的疯狂填词、sub()介绍
去年接到一个任务,一直给拖到了今天,再这么下去可不行,今天我就要让你们看看我的厉害 任务是这样的:创建一个程序,读入文本文件,并让用户在该文本出现ADJECTIVE .NOUN.ADVERB或VERB ...
- Liquibase+spring 初步使用
现在的工作的项目中用了liquibase,感觉挺爽的,可以跟踪.管理数据库的重构.这对于很多需求变更较大的项目是非常不错的,特别是互联网的项目.(虽然互联网Nosql已经非常流行,不过俺觉得传统关系型 ...
- windows server,无桌面服务器 , 批处理更改时区
windows server,无桌面服务器 , 批处理更改时区 time /t cmd.exe /c Control.exe TIMEDATE.CPL,,/Z "China Standard ...
- vue29-vue2.0组件通信_recv
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 19.浏览器Window服务($window)
转自:https://www.cnblogs.com/best/tag/Angular/ 引用浏览器的window对象.默认浏览器的window是全局的根对象. 示例代码: <!DOCTYPE ...
- 【基础篇】activity生命周期及数据保存
常见的Android 的界面,均采用Activity+view的形式显示的,一提到Activity,立即就能联想到Activity的生命周期与状态的保存. 下面先从Activity的生命周期开始说起 ...
- 笔记本E450机械硬盘数据迁移到固态硬盘
背景: E450机械硬盘使用速度过慢,但E450只有一个SATA位,无法直接使用 “分区助手”迁移. 处理: 1.将固态硬盘通过USB口外接在笔记本上 2.正常打开E450,进入桌面 3.对固态硬盘进 ...
- NOIP愤怒的小鸟
愤怒的小鸟 Description: 给你\(n<=18\)个小猪,发射的小鸟轨迹为抛物线,求最小用多少个小鸟可以将小猪全部干掉 看到n很小,我想到了搜索,于是我用\(dfs\)枚举出,每个抛物 ...
- mysql源码安装(包括5.5和5.7)
1.mysql5.5源码安装 yum install -y cmake ncurses-devel ncurses cd /usr/src wget -c https://cdn.mysql.com/ ...