洛谷 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道以上的私有题目,布置过一次作业 ...
随机推荐
- HDU-1023 Train Problem II 卡特兰数(结合高精度乘除)
题目链接:https://cn.vjudge.net/problem/HDU-1023 题意 卡特兰数的应用之一 求一个长度为n的序列通过栈后的结果序列有几种 思路 一开始不知道什么是卡特兰数,猜测是 ...
- uwsgi erro
Installing collected packages: uwsgi Running setup.py install for uwsgi: started Running setup.py in ...
- 监控web服务(http,本地 / 远程监控nginx)
监控 httpd 服务一: #!/bin/bash #描述: 秒级别监控 http 服务 while [ 1 -lt 2 ] do sleep 10 ai=`netstat -ntl | grep & ...
- Python 上下文(Context)学习笔记
前言 最早接触到with语句的时候,是初学python,对文件进行读写的时候,当时文件读写一般都是用open()函数来对文件进行读写,为了防止读写的过程中出现错误,也为了让代码更加的pythonic, ...
- ECNUOJ 2574 Principles of Compiler
Principles of Compiler Time Limit:1000MS Memory Limit:65536KBTotal Submit:473 Accepted:106 Descripti ...
- android 推断是否支持闪光灯
近期在做录制视频功能,在找一些资料时发现 要推断是否支持闪关灯,在这记录下来,怕以后忘记 public static boolean isSupportCameraLedFlash(PackageMa ...
- Windows App开发之文件与数据
读取文件和目录名 这一节開始我们将陆续看到Windows App是如何操作文件的. 在Windows上读取文件名称.目录名 首先我们在XAML中定义一个Button和TextBlock,将读取文件/目 ...
- 利用netstat和tasklist查看PC的端口占用情况 及80端口被占用
经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口? 1.Windows平台在windows命令行窗口下执行: E:\oracle\ora92\bin>n ...
- 威联通NAS 网站无法登录,可以ssh情况下重启设备方法
步骤: 1.VPN登录NAS 2.PUTTY SSH登录设备 3.reboot设备 等待重启约5分钟.
- Linux 如何重新划分Swap交换分区
SWAP分区是LINUX暂时存储数据的交换分区,它主要是把主内存上暂时不用得数据存起来,在需要的时候再调进内存内,且作为SWAP使用的分区不用指定“MoutPoint”(载入点)它至少要等于系统上实际 ...