首页 > 其他分享 >P2392 kkksc03考前临时抱佛脚

P2392 kkksc03考前临时抱佛脚

时间:2024-05-19 21:19:34浏览次数:12  
标签:P2392 考前 int sum ans 题数 kkksc03 最大值 科目

题目链接

01背包

主要思想

1.四个科目需要单独算

2.最佳答案 = sum/2;

每一组数据划分为两部分 使得俩部分的差值最少

3.将每个科目所有题目的总时间的一半作为背包的容量

花费时间看作为体积和价值 ---求出最大值(这个最大值是小于等于sum/2)
4.说明最接近于sum/2的方案,sum-f[sum/2]就是这一科目的最少花费时间

  • f[sum/2]是小于 t/2的最大值,那么 n-f[sum/2]肯定大于等于sum/2
#include <bits/stdc++.h>
using namespace std;

const int N = 60;
int s[5];  //分别存放 4课科目的题数
int v[N];
int f[N*N];
int sum,ans;

int main() {

	for(int i = 1; i <= 4; i ++) cin >> s[i]; //每科目的题数

	for(int i = 1; i <= 4; i ++) {

		memset( f, 0, sizeof(f) ); //每一次计算需要清空背包
		sum = 0;

		for(int j = 1; j <= s[i]; j++) {

			cin >> v[j];  //第 i 科目的第 j 道题花费的时间
			sum += v[j];  //复习第i科目的总时间
		}
		for(int j = 1; j <= s[i]; j ++)
			for(int k = sum / 2; k >= v[j]; k --) {

				f[k] = max(f[k],f[k-v[j]]+v[j]);

			}
			ans += sum - f[sum / 2];
	}
	cout << ans;
	return 0;
}

标签:P2392,考前,int,sum,ans,题数,kkksc03,最大值,科目
From: https://www.cnblogs.com/ltphy-/p/18200640

相关文章

  • 2024年PMP考生|考前必练全真模拟题,附答案解析
    需要考试资料的朋友可以加我V.X:huangwanwei99或者QQ:8692555521、在⼀家已经完成多个类似项⽬的组织⾥,项⽬经理必须执⾏⼀个新项⽬的成本估算。如果项⽬经理利⽤这些之前的⼯作作为估算当前项⽬的基础,这属于下列哪⼀个估算法?()A.三点估算法B.⾃下⽽上估算C.参数估算D.......
  • 考前一周-ing
    我觉得还是好好掌握简单题,并总结一下题目的类型和知识点。因为我太菜了借鉴别人的知识点蓝桥杯历年真题分类汇总(史上最全版本,一定不要错过)-CSDN博客日期与时间问题,枚举(但是一般不会单着考,会结合set,map,最大公约数等) ,数学+思维+找规律,动态规划,字符串,全排列,最大公......
  • 洛谷题单指南-搜索-P2392 kkksc03考前临时抱佛脚
    原题链接:https://www.luogu.com.cn/problem/P2392解题思路:参考https://www.cnblogs.com/jcwy/p/18003097前面已经给出了二进制法的代码,这里给出DFS的代码100分代码:#include<bits/stdc++.h>usingnamespacestd;constintN=25;ints1,s2,s3,s4;inta[N],b[N],c[......
  • GDOI2024 考前模拟2 T2
    题目描述题解考虑黑用\(1\)表示,白用\(0\)表示,那么Alice要赢,就意味着每条边\(x\rightarrowy\)等价于\(clr[x]\leclr[y]\)。连边也就是\(\le\)的关系。不妨编号从\(0\)开始,题目的染色方式则意味着\(clr[x]\neqclr[x\bigoplus1]\)。那么原图里有\(x\rightarrow......
  • SDOI2024 考前做题
    1.P9126[USACO23FEB]MooRouteIIS首先注意到不一定保证\(r_i\les_i\),否则就是最短路裸题了。注意到此时相当于负权图最短路。spfa也许能过,但是我们想要复杂度确定的写法。利用一下一条边出入时间固定(至少中途不会变)的性质:不难发现每条边最多只会走一次。不妨考虑dfs,记......
  • 复杂系统 | 考前知识点总结(不完全)
    这份知识点总结(cheatsheet)是基于21年入学直博的师兄的押题(因为我没太听课......
  • 集训——考前复习
    1:最短路链式前向星;点击查看代码inthead[maxn],to[maxn],nxt[maxn],val[maxn],tot;voidadd(intx,inty,intz){ to[++tot]=y; val[tot]=z; nxt[tot]=head[x]; head[x]=tot;}堆优化的dijkstra点击查看代码priority_queue<pair<int,int>>q;voiddijkstra(int......
  • 洛谷题单指南-暴力枚举-P2392 kkksc03考前临时抱佛脚
    原题链接:https://www.luogu.com.cn/problem/P2392题意解读:由于可以同时计算两道同一科的题目,只需要把某一科题目分两堆,使得两堆总时长之差最小,时长较大的一堆就是完成这一科的最短时间。解题思路:既然直到了要把一科题目分两堆,关键是如何分堆呢?比较容易犯的错是用贪心来解题:把......
  • [2023期末考前一周の日记] day1
    【距离考试13天】2023-12-23废话捏捏今天是2023.12.23,距离考试13天好的,今天是这个日记开的第一天。怪高级的不会用(不要问我为什么发随笔里,原因如上句话。。好吧,那就来说说吧 也许是正文捏其实这篇日记大概是在昨天开始写,昨天心情突然不好,突然消极,不知道为什么。。 ......
  • NOIP 考前小复习
    考前整理一些可能用得到的东西。壹:命令行部分一、编译-std=c++14。-Wall,-Wextra。会提醒一些可能写错了的地方,或者一些比较明显的UB。比如for(___)a=___;b=___;,会告诉你循环可能漏掉了末尾;比如++x+x++,会告诉你未定义。有可能一些习惯,比如压行,会触发警告。这就需要视......