尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

题解:P14174 【MX-X23-T4】卡常数

题解:P14174 【MX-X23-T4】卡常数
📅 发布时间:2026/6/20 21:09:45

题目传送门

超级水题 , 谁都可以拿的经验
考察贪心 + 堆(最简单的用优先队列实现)


题面

给定 $ n$ 个数组和每个数组的常数 \(x\) 和长度 \(l\) ,
给定每个数组的 $a_i $ 、 \(b_i\) ,
定义是可以实施 \(k\) 次把某个 \(b_i\) 换成 \(a_i\) ,
当前数组的贡献是乘积 , 总贡献是所有数组贡献的和 。
保证 \(b_i\le a_i\) 。
求出最小总贡献

思路

其实不管是 \(b_i\le a_i \ \ or \ \ b_i \ge a_i\) , 这个题目的做法都是一样的
我们在输入的同时预处理完当前数组的乘积 , 同时也可以得出当前数组每个单元的 \((a_i-b_i)/a_i\) 也就是这个单元如果变化了 , 对当前数组的变化率 。
$\ $
sort他 (言简意赅。
$\ $
我们考虑计算出他们对于原答案的变化量 (这一步详见代码,有个细节需要调,这一步的正确性在 sort 这一步中体现), 然后我们取其中 \(\min(l,k)\) 个元素丢进优先队列 。
最后输入完了也处理完了 , 只要取 \(k\) 个变化量减一减不加修饰的原答案 , 就出来了最小值了 。


\(\Large \mathcal CODE\)


#include<bits/stdc++.h>
#define int long long 
#define fi first
#define se second
using namespace std;const int N = 5e5 + 10;
int a[N], b[N];
priority_queue<int> q;
int n, k;
pair<long double, int> ans[N];
int res;main(void)
{ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);int tmp;cin >> n >> k;while (n--) {int x, l;cin >> x >> l;int now = x;for (int i = 1; i <= l; i++) {cin >> a[i];now *= a[i];}res += now;for (int i = 1; i <= l; i++) {cin >> b[i];}for (int i = 1; i <= l; i++) {ans[i].fi = 1.l * (a[i] - b[i]) / a[i];ans[i].se = i;}sort(ans + 1, ans + 1 + l);for (int i = 1; min(k, l) >= i; i++) {tmp = now / a[ans[i].se] * b[ans[i].se];q.push(tmp);now -= tmp;}}for (int i = 1; i <= k; i++) {res -= q.top();q.pop();}cout << res << endl;
}

相关新闻

  • 解题报告-拯救计划(概率 DP)
  • 编程与数学 03-009 Linux 操作系统应用 22_Linux 故障排除与问题克服
  •  pytorch 66页实验题

最新新闻

  • VScode调试按钮神秘消失?深入剖析C/C++插件IntelliSense Engine与setting.json的同步陷阱
  • 合肥理工学校招生电话多少?2026年6月21号最新发布! - 教育为先
  • 终极智能工具箱:League Akari 重新定义英雄联盟游戏体验
  • 2026年5月美国零售销售月率超预期
  • nuScenes数据集实战指南(一)——环境配置与数据初探
  • 2026合肥十大叛逆戒网瘾学校排名|央视推荐+真实案例,家长必看避坑指南 - 辛云教育资讯

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号