首页 > 其他分享 >2024北京站总结

2024北京站总结

时间:2024-12-16 21:24:23浏览次数:3  
标签:总结 北京站 背包 int ll 2024 放到 v2 v3

2024-12-16

今天上午是省选模拟赛,总体来说打的还行,但是还是太菜了,感觉被所有人吊打。

  • T1
    题意:
    赛时思路:赛时想了差不多一个小时的贪心,后面发现不会贪,当时以为dp是正解,就推了个dp,可以用\(f_{i,j}\)表示第1个背包选了几个,第2个背包选了几个,然后发现转移方程就是\(f_{i, j} = max(f_{i-1,j}+a_{now,1},f_{i,j-1}+a_{now,2},f_{i,j}+a_{now,3})\),能拿50pts,然后想了很久感觉应该有个优化就能过了,但是死活不会,赛后看题解发现还真有这么写的,是用的wqs二分优化过的,但是我太菜了不会。正解是无敌贪心。
    正解:首先把所有都放到第一个背包里,然后考虑把v2个放到第二个背包,v3个放到第三个背包。先设\(e_i\)表示\(b_i - a_i\),\(f_i\)表示\(c_i-a_i\),那放到第二个背包的收益就是\(e_i\),第三个就是\(f_i\),然后我们设第i个放到第二个背包,第j个放到第三个背包,考虑什么时候把它俩交换会更优,显然是\(e_i+f_j<e_j+f_i\),移相得到\(e_i-e_j<f_i-f_j\),所以我们就以这个排序,那么放到第二个背包的一定会全在放到第三个背包的前面,考虑怎么获得答案,发现可以用小根堆来处理出来前缀的前v2大的和,后缀前v3大的和,然后就直接枚举断点,找最大答案就行了。
    代码:
#include <algorithm>
#include <iostream>
#include <queue>

using namespace std;
typedef long long ll;
const int N = 1e5 + 10;

int v1, v2, v3, n;
ll mx, ans = -1e9;
ll sum[N], pre[N];
struct zx { int a, b, c, e, f; } a[N];
priority_queue <int, vector<int>, greater<int>> q1, q2;

bool cmp (zx a, zx b) {
	return a.e - a.f > b.e - b.f;
}

int main () {
	cin >> v1 >> v2 >> v3;
	n = v1 + v2 + v3;
	for(int i = 1; i <= n; ++i) {
		cin >> a[i].a >> a[i].b >> a[i].c;
		a[i].e = a[i].b - a[i].a, a[i].f = a[i].c - a[i].a;
		mx += a[i].a;
	}
	sort(a + 1, a + n + 1, cmp);
	for(int i = 1; i <= n; ++i) {
		q1.push(a[i].e);
		sum[i] = sum[i - 1] + a[i].e;
		if(i > v2) {
			sum[i] = sum[i - 1] + a[i].e - q1.top();
			q1.pop();
		}
	}
	for(int i = n; i >= 1; --i) {
		q2.push(a[i].f);
		pre[i] = pre[i + 1] + a[i].f;
		if(i <= n - v3) {
			pre[i] = pre[i + 1] + a[i].f - q2.top();
			q2.pop();
		}
	}
	for(int i = v2; i <= n - v3; ++i) 
		ans = max(ans, mx + sum[i] + pre[i + 1]);
	cout << ans << endl;
	return 0;
}
  • T2
    题面:

标签:总结,北京站,背包,int,ll,2024,放到,v2,v3
From: https://www.cnblogs.com/roselu/p/18611124

相关文章

  • anaconda基础安装(2024.12.16)
     首先我们要知道的是环境,我们运行或者说创建我们的项目时。需要很多的软件包算法函数调用。而不同的项目需要不同函数甚至不同版本的软件包。为了更好的运行自己的项目,我们就需要用到anaconda这个软件去创造这个虚拟环境,将各个项目的环境隔离开,避免冲突。总之先开始教学吧。......
  • 2024ciscn 逆向ezCsky和dump详解
    ezCskyExeinfo看了不是exeIDA分析不了,使用鸡爪Ghidra进行分析。这边顺带讲一下Ghidra的基础操作方法下载Ghidra:https://gitcode.com/gh_mirrors/gh/ghidra_installer下载java11(对版本有要求)打开.bat文件第一次用需要先输入jar文件所在的地址,比如我的就是C:\ProgramFile......
  • 软件著作权申请教程(超详细)(2024新版)软著申请
                         目录一、注册账号与实名登记二、材料准备三、申请步骤1.办理身份2.软件申请信息3.软件开发信息4.软件功能与特点5.填报完成一、注册账号与实名登记    首先我们需要在官网里面注册一个账号,并且完成实名认证,一般......
  • 什么头戴式耳机性价比高?头戴式蓝牙耳机推荐2024
    现在,对于大多数人群来说耳机是必不或少的,尤其是年轻人,无论听音乐还是玩游戏,特别喜欢头戴式耳机,它颜值高,佩戴舒适,音质更动听,还不漏音。不过现在市场上头戴式耳机品牌太多,如何选择还是有点难度的。那么,什么头戴式耳机性价比高?作为数码测评博主,我在一系列的头戴式耳机测评中,选出了......
  • AI应用实战课学习总结(1)必备AI基础理论
    大家好,我是Edison。由于公司的愿景逐渐调整为ONETechCompany,公司的IT战略也逐渐地朝着Data&AIDriven发展,因此近半年来我一直在学习大模型相关的东西,从ChatGPT到Agent都有所涉及。但是,未来的企业技术架构中会存在一个通用大模型和多个小模型以及多个IT系统协同配合的局面,单......
  • 20222314 2024-2025-1 《网络与系统攻防技术》实验八实验报告
    202223142024-2025-1《网络与系统攻防技术》实验八实验报告1.实验内容1.1Web前端HTML能正常安装、启停Apache。理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML1.2Web前端javascipt理解JavaScript的基本功能,理解DOM在1的基础上,编写JavaScript验证用户名、密......
  • NOIP2024 题解
    考场上一直都不知道在想什么,心态也很不好,结果B一直不会,最后会了C还没写完。感觉这个赛季对我来说就已经结束了吧/hsh/wn本来是想退役的,但是学文化课对我来说太痛苦了,而且我还是比较热爱OI的,所以就再试着走一走吧。P11361[NOIP2024]编辑字符串发现限制就是将\(s\)......
  • 2024开封市第二届职业技能大赛 网络安全项目(世赛选拔)样题
    2024开封市第二届职业技能大赛网络安全项目竞赛试题A模块基础设施设置/安全加固(200分)A-1任务一登录安全加固A-2任务二Web安全加固(Web)A-3任务三流量完整性保护与事件监控(Web,Log)A-4任务四防火墙策略A-5:登录安全加固(Windows,Linux)A-6:本地安全策略设置(Windows)A-7:流......
  • 20241216
    会议室类,会议中心类,管理员类,会议申请类,会议人员类会议室类:属性:会议室号,可容纳人数,状态,使用时间方法:会议中心类:属性:会议申请方法:通知开会(),制作代表证()管理员类属性:方法:修改会议(),调整会议()会议召开申请类:属性:申请人姓名,会议人数,开会时间,会议人员方法:修改会议申请(),取消会议......
  • 打卡信奥刷题(431)用C++信奥B3969[普及组/提高]B3969 [GESP202403 五级] B-smooth 数
    [GESP202403五级]B-smooth数题目描述小杨同学想寻找一种名为$B$-smooth数的正整数。如果一个正整数的最大质因子不超过$B$,则该正整数为$B$-smooth数。小杨同学想知道,对于给定的$n$和$B$,有多少个不超过$n$的$B$-smooth数。输入格式第一行......