CF div2 990(A~E)

news/2025/1/15 13:24:19/文章来源:https://www.cnblogs.com/jjjxs/p/18671930

VP赛时\(4\)题,发挥得比较不错的一场,并且这场也偏简单。

A

数数题,找好规律直接模拟即可

code

B

简单排列组合题

显然总方案数为:

\[ n! /(a_1! * a_2! * ... * a_m!) \]

\(a_1到a_m\)表示某种字符的数量

想最小化总方案数,只能最大化上式分母的值。而题目操作等价于将某个\(a_i\)\(1\),并将某个\(a_j\)\(1\)。由全排列式的定义,显然将最小的\(a_i\)\(1\),并将最大的\(a_j\)\(1\)是最优的。

注意当所有\(a_i\)均相同时,若出现了超过一种字符,则要选不同的字符。

code

C

超级简单的一个div2 C题

逆向思考,计算路径和最大值,等价于计算所有没走的格子之和的最小值。而题中操作等价于可以将列任意排列,这样就相当于除了向下走的那一列,剩下的\(n-1\)列中可以不选其中任意一个数——若不选第一行的数,则该列在向下走那一列的右侧;若不选第二行的数,则该列在向下走那一列的左侧。

则直接贪心取每一列的最小值不选即可。枚举每一列作为刚开始不选的那一列,并暴力计算剩下\(n-1\)列的最小值之和即可,复杂度\(O(n^2)\)

code

D

显然,每个元素最多只会被操作一次。(证明略)

考虑原序列:当某个元素的后面存在比它小的数时,它必然要被移动,以让后面比它小的元素移动到前面,以达到字典序最小。所以可以先通过一轮扫描来确定哪些元素一定要操作。

其次,由于某些元素移动到了后面,那些还没移动的元素后面又会出现一些新的值,而这些值即为 移动过的所有元素\(+1\)。所以需要再对所有没有移动的数扫一遍,若其值超过了移动后的所有数的最小值,则它也需要被移动。

经过以上操作后,就可以保证任意未移动的数的值均\(<=\)任意移动的数的值。将已经移动的数排个序,然后先将未移动的数顺序输出,再输出移动了的数即可。

code

E

考察比较全面的一道题,代码能力要求也比较高。

首先需要将所有点离散化,这样才能在\(O(n)\)的范围内枚举。

然后可以发现,最优解内的坐标轴\(x,y\)一定可以经过某些点(证明略)。这样,就不需要枚举离散化后\([1,n]\)上的所有数,只需要顺序枚举所有已有点的坐标即可。

考虑顺序枚举所有点的 \(x\) ,这样就将所有点分成了左右两部分。若对于任意给定的\(y\),可以知道每一侧中 \(<=y\) 的点的数量,就可以在给定的\(x,y轴\)下计算出四个象限内的点数。由于\(x\)的枚举会使某一侧增加一些点,而另一侧减少一些点,故涉及修改操作,需要用两个树状数组来维护每一侧所有点的\(y\)。而枚举\(y\)时可以利用“最小值在\(y\)上侧(一二象限)还是下侧(三四象限)”这个二段性,使用二分来枚举\(y\)。在二分函数内更新全局最优解即可。

具体细节看代码,复杂度\(O(nlog^2n)\)

code

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

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

相关文章

elasticsearch的RestAPI之操作文档

RestClient操作文档 新增文档 将DB表中的数据同步到elasticsearch 1)查询数据库 1.1)数据库查询后的结果是一个Hotel类型的对象1 @Data2 @TableName("tb_hotel")3 public class Hotel {4 @TableId(type = IdType.INPUT)5 private Long id;6 private St…

【VPX303】基于 3U VPX 总线架构的双银河飞腾 FT-M6678 DSP 信号处理平台(100%全国产化)

​产品概述 VPX303 是一款基于 3U VPX 总线架构的高性能信号处理板,板载 2 片国防科大银河飞腾 FT-M6678 多核浮点运算 DSP,可以实现各种实时性要求较高的信号处理算法。板卡每个 DSP 均支持 5 片 DDR3 SDRAM 实现数据缓存,两片DSP 之间通过 X4 SRIO 进行互联。每个 DSP 均引…

第七章 中断

本文是对《操作系统真象还原》第七章学习的笔记,欢迎大家一起交流。第七章 中断 本文是对《操作系统真象还原》第七章学习的笔记,欢迎大家一起交流。 a 启用中断 本节的主要任务是打开中断,并且使用时钟中断测试 知识部分 中断分类 中断可以分为外部中断和内部中断,这已经是…

PHP语法进阶

PHP语法进阶 数组 数组能够在单个变量中存储多个值,并且可以根据 键 访问其中的 值PHP有两种数组:数值数组、关联数组。 数值和关联两个词都是针对数组的键而言的。 先介绍下数值数组,数值数组是指数组的键是整数的数组,并且键的整数顺序是从0开始,依次类推。 数值数组 $m…

Agentic RAG 系统的崛起

探秘智能检索新境界:Agentic RAG 系统的崛起 📖阅读时长:10分钟 🕙发布时间:202探秘智能检索新境界:Agentic RAG 系统的崛起 📖阅读时长:10分钟 🕙发布时间:2025-01-15近日热文:全网最全的神经网络数学原理(代码和公式)直观解释 欢迎关注知乎和公众号的专栏内…

5、提升Java的并发性

CompletableFuture及反应式编程背后的概念 :::info ❏线程、Future以及推动Java支持更丰富的并发API的进化动力 ❏ 异步API ❏ 从“线框与管道”的角度看并发计算 ❏ 使用CompletableFuture结合器动态地连接线框❏ 构成Java 9反应式编程Flow API基础的“发布-订阅”协议❏ 反应…

goal vs objective vs target

goal 680 objective 2421 target 1284GOAL vs OBJECTIVE left 4WORD 1: GOAL 过滤200WORD W1 W2SCORED 1423 1 He has scored a further five goals in the Spanish Supercup and the Champions League.他在西班牙超级杯和冠军联赛中又打进了五个进球。 scored Barcas fourth…

大模型备案流程-简易易懂

大模型备案除了资料撰写难度高外,难点还在于各省没有统一标准。备案流程、资料要求、考察重点都会有些许差异。不过,各省的大体申报流程都如下文所示(各省主要差异点我会标出,具体内容可以一起沟通交流): 一、备案申请 报请申请者所在省份/直辖市/自治区网信:向企业注册地…

KingbaseES RAC集群案例之---jmeter压测

KingbaseES RAC、jmeter案例说明: 通过jmeter压测,测试KingbaseES RAC集群负载均衡功能。 数据库版本: test=# select version();version ---------------------KingbaseES V008R006 (1 row)测试架构:一、jmeter版本 1、系统jiava版本 [root@node203 ~]# java -version ope…

{LOJ #6041. 「雅礼集训 2017 Day7」事情的相似度 题解

\(\text{LOJ \#6041. 「雅礼集训 2017 Day7」事情的相似度 题解}\) 解法一 由 parent 树的性质得到,前缀 \(s_i,s_j\) 的最长公共后缀实质上就是 \(i,j\) 在 SAM 中的 \(\operatorname{LCA}\) 在 SAM 中的 \(\operatorname{len}\)。让我们考虑如何处理 \((l,r)\) 区间内的询问…

解决Hyper-V保留端口导致各种端口占用报错的问题

0.有时候在本地启用一个服务比如MySQL服务,或者在启用IDEA的调试的时候,或者在本地启用一个监听端口的时候可能会出现监听失败的情况,经过查找之后会发现并没有应用占用相应的端口。 1.经过查找发现其实是在启用了Hyper-V之后系统会保留一些端口,这些端口如果包含了你应用要…