Good Bye 2024: 2025 is NEAR D - Refined Product Optimality

news/2025/1/10 1:26:02/文章来源:https://www.cnblogs.com/maburb/p/18663154

题意,给你两个长度为n的数组a和b,你可以重新排列b,每次会让a的一个数加一或者让b的一个数加一,求最大的min(ai, bi)的连乘。

自己做卡了很久,思路想到了,但没想到他最后不需要模拟交换的,导致代码一直没写出来。
我们肯定要让最大的数和最大的匹配,次大和次大的匹配,依次按大小排名匹配,这样是最大的。
那么,如果值为a[x]的数有很多个,他们可能匹配的数大小不同,如果我们要改一个这样的a[x], 一定是让他带走匹配最大的那个数。只不过这样很不好模拟。。。
我们发现,将a数组排序后记为c数组,那么如果我们每次更改最后一个值等于a[x]的,c依然有序! b数组同理搞一个d数组,这样我们就可以直接算了。 因为b数组的对应位置也是可以匹配到的最大的,它也是有序的,满足我们的思路。

点击查看代码
void solve() {int n, q;std::cin >> n >> q;std::vector<i64> a(n), b(n);for (int i = 0; i < n; ++ i) {std::cin >> a[i];}for (int i = 0; i < n; ++ i) {std::cin >> b[i];}auto c = a, d = b;std::sort(c.begin(), c.end());std::sort(d.begin(), d.end());Z ans = 1;for (int i = 0; i < n; ++ i) {ans *= std::min(c[i], d[i]);}std::cout << ans << " ";while (q -- ) {int o, x;std::cin >> o >> x;-- x;if (o == 1) {int p = std::upper_bound(c.begin(), c.end(), a[x]) - c.begin() - 1;if (c[p] < d[p]) {ans = ans / c[p] * (c[p] + 1);}++ a[x];++ c[p];} else {int p = std::upper_bound(d.begin(), d.end(), b[x]) - d.begin() - 1;if (d[p] < c[p]) {ans = ans / d[p] * (d[p] + 1);}++ b[x];++ d[p];}std::cout << ans << " \n"[!q];}
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring AI 智能体通过 MCP 集成本地文件数据

以下文章来源于阿里云云原生 ,作者刘军 一、Model Context Protocol(MCP)简介 模型上下文协议(即 Model Context Protocol,MCP)[1]是一个开放协议,它规范了应用程序如何向大型语言模型(LLM)提供上下文。MCP 提供了一种统一的方式将 AI 模型连接到不同的数据源和工具,…

5G新通话的安全卫士——DTLS协议

5G 新通话作为运营商的一种全新通话概念的探索,虽名为通话,实则远不止于此,更是一种实时的沉浸式互动体验。针对 5G 新通话,3GPP 在 R16 阶段完成了 5G 网络 IMS Data Channel 实时交互通道的相关技术标准,并于 2020 年 3 月将其写入并发布了 TS26.114 V16.5.0 版本,实现…

CSS设计模式

OOCSSOO(“Object Oriented”):面向对象。OOCSS:Object Oriented css(面向对象css)的缩写,是一种用最简单的方式编写的CSS代码,从而使代码 重用性,可维护性和可扩展性更好的书写方法。OOCSS 解决的问题 很多开发者在编写 CSS 时,经常会遇到以下问题:样式重复: 同样的…

【待发】5G新通话的安全卫士——DTLS协议

5G 新通话作为运营商的一种全新通话概念的探索,虽名为通话,实则远不止于此,更是一种实时的沉浸式互动体验。针对 5G 新通话,3GPP 在 R16 阶段完成了 5G 网络 IMS Data Channel 实时交互通道的相关技术标准,并于 2020 年 3 月将其写入并发布了 TS26.114 V16.5.0 版本,实现…

pwn ciscn_2019_n_1 1

可以看到用gets让用户输入v1,还比较了v2的值,但此之前已经设置了v2的值为0.0 法一 可以用传统的方法栈溢出,覆盖返回地址为system的地址法二 v2也存在栈上,也可以通过gets栈溢出修改v2原本的数据 movss xmm0, [rbp+var_4] #将v2的值放到xmm0里面 ucomiss xmm0, cs:dword…

语境学习(in-context-learning)

(高级机器学习的作业,反正写了干脆搬过来)4.1 引言 请考虑这样一句话“该公司预计其营业利润会有所改善。” 可以发现,这句话的情感是积极向上的。我们期待如果把这句话输入给大语言模型,它能够返回“积极(Positive)”这样的词汇。 然而,如果我们直接把这句话输入给大模…

hello-algo

复杂度分析 迭代与递归函数返回前上下文存储在栈帧空间,故递归比迭代耗费更多内存空间 递归调用函数有额外开销,故递归时间效率也更低迭代while循环更灵活,for循环更简洁尾递归和正常递归尾递归会被编译器优化,空间效率相当于迭代!!!原因是尾递归无需保存上下文,正常递…

DataWorks数据分层

在阿里巴巴的数据体系中,我们建议将数据仓库分为三层,自下而上为:数据引入层(ODS,Operation Data Store)、数据公共层(CDM,Common Data Model)和数据应用层(ADS,Application Data Service)。数据仓库的分层和各层级用途如下图所示。数据引入层ODS(Operation Data …

实用且功能丰富的IT工具箱-IT-tools

介绍 IT-Tools是为开发人员度身打造的一套便捷在线工具。 它提供全面功能,使开发者能以更高效方式完成任务。 优秀的用户体验确保用户愉悦使用工具,并获得卓越成果。 经由IT-Tools,开发人员能轻松应对各类技术挑战,享受工作中的便利与灵活。 官网正式稳定版在线版正式稳定版…

《CPython Internals》阅读笔记:p61-p75

《CPython Internals》学习第 4 天,p61-p75 总结,总计 15 页。 一、技术总结 1.编译器类型 (1)self-hosted compiler Self-hosted compilers are compilers written in the language they compile, such as the Go compiler. This is done by a process known as bootstrap…

ETHERCAT转CCLINK网关对接ethercat通讯协议的高效解析指南

在某汽车零部件制造工厂的自动化生产线升级项目中,部分关键设备采用了支持 ETHERCAT 总线的 PLC 进行控制,而工厂原有的一些设备则遵循 CCLINK 协议标准。由于这两种协议之间无法直接通信,导致生产线的数据交互受阻,难以实现整体的协同运作与高效管理,迫切需要一种可靠的解…

妙用编辑器:列编辑在编写Markdown表格时的使用技巧

1 妙用编辑器:列编辑在编写Markdown表格时的使用技巧经常写Markdown笔记的朋友应该清楚,Markdown的表格比较麻烦,定义表格每列时需要使用|线进行绘制表格边界。比如有下面一段文字名称, 大小, 类型, 修改, 属性 …