[ABC376E] Max Sum 题解

news/2024/10/20 8:47:12

[ABC376E] Max × Sum 题解

原题链接

洛谷链接

一道简单的推性质题,首先明确一个性质,子集是非连续的,所以在计算时并不用连续区间求。

拿过题来,首先想的是枚举 \(B\) 的最小子集,但其复杂度为 \(O(C_N^K)\) 复杂度过高,不足以通过本题。于是转变思路,枚举 \(A\) 之中的最大值。若 \(a_i\) 是一个区间最大值,当且仅当长度为 \(k\) 的子集其为最大。但这样还不是很好求。

由于题目未要求输出子集元素,则元素顺序对求解过程无影响,于是建立结构体数组 \(s\) 存储 \(A,B\) ,则有 \(s_i=\{a_i,b_i\}\) ,以 \(a_i\) 的大小进行结构体排序,从大到小遍历数组,建立大根堆维护 \(b_i\) 的,若堆的大小超出 \(k\) 则弹出堆顶,和减去。对于每一个堆的大小等于 \(k\) 的时刻,统计答案。(详见代码)

注:

  1. 记得开 long long
  2. ans 的初值不能太小,至少 \(2e17\)
#include <bits/stdc++.h>
#define seq(q, w, e) for (int q = w; q <= e; q++)
#define ll long long              //记得开long long
using namespace std;
const ll maxn = 2e5+10,mod=2e17;  //初值至少2e17
ll t,ans;
ll n,k,tot;                       //tot为b的和
struct node{ll a,b;
}s[maxn];
bool cmp(node a,node b){         //排序函数return a.a<b.a;
}
signed main(){ios::sync_with_stdio(0);cin.tie(0);cin>>t;while(t--){tot=0,ans=mod;priority_queue<ll,vector<ll>,less<ll> >pq; //优先队列存储b的值cin>>n>>k;seq(i,1,n) cin>>s[i].a;seq(i,1,n) cin>>s[i].b;sort(s+1,s+n+1,cmp);seq(i,1,n){if(pq.size()<k-1){                    //若堆的大小不足k-1tot+=s[i].b;pq.push(s[i].b);}else{tot+=s[i].b;                      //压入,正好k个元素pq.push(s[i].b);ans=min(ans,s[i].a*tot);          //与原先ans取mintot-=pq.top();                    //不确定是否最优,于是继续统计pq.pop();}}cout<<ans<<"\n";}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/73720.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

读数据工程之道:设计和构建健壮的数据系统14源系统

源系统1. 源系统中的数据生成 1.1. 数据工程师的工作是从源系统获取数据,对其进行处理,使其有助于为下游用例提供服务 1.2. 数据工程师的角色将在很大程度上转向理解数据源和目的地之间的相互作用 1.3. 数据工程的最基本的数据管道任务——将数据从A移动到B 2. 数据源 2.1. 数…

Gartner 魔力象限:企业备份和恢复解决方案 2024

Gartner Magic Quadrant for Enterprise Backup and Recovery Solutions 2024Gartner Magic Quadrant for Enterprise Backup and Recovery Solutions 2024 Gartner 魔力象限:企业备份和恢复解决方案 2024 请访问原文链接:https://sysin.org/blog/gartner-magic-quadrant-ent…

VMware Aria Operations for Networks 6.14 发布,新增功能概览

VMware Aria Operations for Networks 6.14 发布,新增功能概览VMware Aria Operations for Networks 6.14 发布,新增功能概览 VMware Aria Operations for Networks 6.14 - 网络和应用监控工具 请访问原文链接:https://sysin.org/blog/vmware-aria-operations-for-networks/…

龙芯吧小吧主彭东锋(知乎直答)

龙芯吧小吧主彭东锋(知乎直答) 回答 深入 彭东锋是指龙芯吧的小吧主,他在网络上以用户名@gueenet活跃,并且以其在视频平台发布的评测内容而闻名。以下是对其含义的具体解释及延伸: 身份定位:彭东锋是龙芯吧的小吧主,拥有一定的管理和发言权。他在视频平台上发布关于国产…

重构大师-二-

重构大师(二)原文:www.gongtongchu.cn移除对参数的赋值原文:refactoringguru.cn/remove-assignments-to-parameters问题 一些值在方法体内被赋给参数。 解决方案 使用局部变量代替参数。 之前 int discount(int inputVal, int quantity) {if (quantity > 50) {inputVal …

智源大会-2023-笔记-一-

智源大会 2023 笔记(一) [2023北京智源大会]AI生命科学 - P1 - Mercurialzs - BV1KV4y117m5 welcome to the symposiuai for life science,im sunny,i,thank the organers for giving me。 the honor to chthis,imposing,imposi,we have a change in the program。 unf…

智源大会-2023-笔记-五-

智源大会 2023 笔记(五) 尖峰对话 & 特邀报告(David Holz、张鹏、刘壮、Christoph Schuhmann) - P1 - 智源社区 - BV14X4y1b7Jd 所以你对,你好啊,欢迎大家加入我们今天下午对中程创始人的谈话,大卫福尔摩斯先生我是大公园的张杰克,我很高兴能和你们一起,探索迷人的…