P2392 kkksc03考前临时抱佛脚——洛谷

2023-10-14 01:59

本文主要是介绍P2392 kkksc03考前临时抱佛脚——洛谷,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

P2392 kkksc03考前临时抱佛脚 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 

 

 

//不要着急,耐心一点,相信自己,不要摆烂,一定要坚持
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
map<int,int>dp;
int a[10000],b[10000];
int main(){for(int i=0;i<4;i++)cin>>a[i];int ans=0;for(int i=0;i<4;i++){int sum=0;for(int j=0;j<a[i];j++){cin>>b[j];sum+=b[j];}//从贪心的角度思考,我们希望平衡左右脑的时间,即左右脑时间差要尽量小//因此我们取时间的一半,去计算某一半脑的时间(尽量靠近一半时间)能有多大for(int j=0;j<a[i];j++){for(int k=sum/2;k>=b[j];k--)dp[k]=max(dp[k],dp[k-b[j]]+b[j]);//下标为时间,内容也是时间,(即价值和体积都是时间)}int op=sum-dp[sum/2];//加上另一半脑的时间(最多时间的那半脑)ans=ans+op;dp.clear();//记得将背包清空!}cout<<ans;return 0;
}

这篇关于P2392 kkksc03考前临时抱佛脚——洛谷的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/207355

相关文章

不设临时变量交换a,b的值

常规的做法: int tmp = a; a = b; b = tmp; 不设中间变量的方法: a = a + b; b = a - b; a = a - b;

高精度计算(代码加解析,洛谷p1601,p1303)除法待更新

目录 高精度加法 高精度减法 高精度乘法 高精度加法 我们知道在c++语言中任何数据类型都有一定的表示范围。当两个被加数很大时,正常加法不能得到精确解。在小学,我们做加法都采用竖式方法。那么我们也只需要按照加法进位的方式就能得到最终解。 8 5 6+ 2 5 5-------1 1 1 1 加法进位: c[i] = a[i] + b[i];if(c[i] >=

洛谷 凸多边形划分

T282062 凸多边形的划分 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 先整一个半成品,高精度过两天复习一下补上 #include <iostream>#include <algorithm>#include <set>#include <cstring>#include <string>#include <vector>#include <map>

能量项链,洛谷

解释:  环形dp问题还是考虑将环拉直,可以参考我上一篇文章:环形石子合并 [2 3 5 10 2] 3 5 10 将环拉直,[]内是一个有效的区间,可以模拟吸收珠子的过程,         如[2 3 5] <=>(2,3)(3,5)    2是头,3是中间,5是尾 len >= 3:因为最后[2 10 2]是最小的可以合并的有效区间 len <= n + 1因为[2 3

J2SE - 在BAT中指定临时使用的JDK环境

# BAT开头指定临时的JDKset JAVA_HOME=C:/Develop/Jdk-1.6.0set PATH=%JAVA_HOME%/bin;%JAVA_HOME%/jre/binset CLASSPATH=.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar;ar;lib/run.jar# 执行Main方法java com.xl.Main

洛谷P5490扫描线

0是最小的数字,将一个线段看成一个区间,对于一个矩形,从下扫到上,入边为1,而出边为-1,意思是将这个区间上的所有点加1(区间修改).把线段表示为Line[i],其中记录了l,r,h,tag,左右端点,高度,入边还是出边(1或-1) 那么每次区间修改后不为0的区间它的值可能是1,2,3或者是其它数字,这不好统计,可以将它转化一下,0是不是表示没有被覆盖过的地方,我们只要统计0的个数然后用总长减去

Oracle中的临时表Temporary Table

Oracle中的临时表(Temporary Table)是一种特殊类型的表,用于存储临时数据,这些数据在会话结束或事务提交后会自动删除。Oracle数据库提供了两种主要的临时表类型:事务级全局临时表和会话级全局临时表。 全局临时表(Global Temporary Table) 全局临时表是Oracle数据库中常用的临时表类型,它具有以下特点: 临时性:全局临时表中的数据在会话结束或事务提交

挤牛奶洛谷uasco

题目描述 三个农民每天清晨5点起床,然后去牛棚给3头牛挤奶。第一个农民在300秒(从5点开始计时)给他的牛挤奶,一直到1000秒。第二个农民在700秒开始,在 1200秒结束。第三个农民在1500秒开始2100秒结束。期间最长的至少有一个农民在挤奶的连续时间为900秒(从300秒到1200秒),而最长的无人挤奶的连续时间(从挤奶开始一直到挤奶结束)为300秒(从1200秒到1500秒)。

git进阶·团队开发的时候为何要创建临时分支来修复bug

若在团队开发中,突然遇到一个功能性bug,你会怎么使用git来管理分支呢? 在近些年来,团队工作的经验中,我总结出来的是,最好是先创建一个临时分支来修复bug,修复好后,再合并到主分支或目标分支。这样子在多个bug,或者多个功能一起进行开发的时候,可以分别修复,不会影响到主分支、目标分支以及其他临时修复bug分支上的代码。因为这样子不容易导致团队成员之间的代码合并丢失的情况,如果直接在远程分支上修

mysql 临时表和内存表创建 查询 删除以及注意事项

mysql 临时表和内存表创建 查询 删除以及注意事项临时表和内存表的ENGINE 不同,临时表默认的是MyISAM,而内存表是MEMORY ,临时表只对当前会话可见,连接断开时,自动删除! mysql教程 临时表和内存表创建 查询 删除以及注意事项 临时表和内存表的engine 不同,临时表默认的是myisam,而内存表是memory ,临时表只对当前会话可见,连接断开时,自动删除!