CF2025

news/2024/11/20 13:24:01/文章来源:https://www.cnblogs.com/Sugar-Cube/p/18556662

更好的观看体验:Here

A

你要生成两个字符串。
起初有两个空串,你可以在任意一个后加任意字母,或者把一个串复制并覆盖掉另一个串。
求最小操作次数,使得两个串和给定的两个串相同。
$n,m\le 100$

注意到覆盖操作显然只会发生至多一次。
故覆盖 lcp 是最优的。
值得注意的是,可以不覆盖,此时无 lcp。

B

$f_{n,0}=f_{n,n}=1,f_{n,m}=f_{n-1,m-1}+f_{n-1,m-1}$。
给定 $n,m$,求 $f_{n,m}$。
$t\le 10^5,m\le n\le 10^5$

题解给了暴力展开转移式变为二项式系数的做法。
考虑网格图,枚举转移起点有:
\(\sum\limits_{i=0}^{n} \binom{m}{i}=\sum\limits_{i=0}^{m}\binom{m}{i}=2^{m}\)

C

有一个可重集合,支持如下选取方式:
第一次任选,设上一次选了 $x$,则下一次可选 $x,x+1$。
要求选的数的众数不超过 k,求最长的选数个数。
$n\le 10^5$

显然是选择连续的不超过 k 种数全部选择。
排序后双指针一下就可以。
有一说一双指针算是这种问题的最好的实现方式了。

D

有一个长为 n 的任务序列,上面有三种任务,分别是分发灵光点,检查力量和检查智力。
当你获得灵光点的时候,你可以给力量和智力中的一个加一点,这种操作只有 m 个。
检查某一数值为,若你当前的该数值不小于检查标准数值,则通过。
请最大化通过检查个数。
$n\le 10^6,m\le 5\times 10^3$

检查不具有单调性,因为可以从中间某个任务开始做。
应该把转移式写出来看看的。

直接写朴素的转移式,设 \(f_{i,j}\) 表示考虑了前 \(i\) 个任务,其中 \(j\) 个分配给力量的最优值。
转移显然,分别是分配点数和检查任务,第一个暴力做即可,第二个是区间加。
区间加也只需打一个标记,可以看作变换设的状态为考虑了前 \(i\) 个加灵光点。

E

有 n 种花色和 m 种等级组成的 $n\times m$ 张牌。
规定牌的序:
若两张牌花色不同,那么其中 1 花色的那张更大。
若两张牌花色相同,等级高的那张更大。
现在要把这些牌均分给 A 和 B,要求存在一种配对方案,使得每个对都是 A 的牌比 B 的大。
求这样的分配牌的方案数。
$n,m\le 500$
保证 m 为偶数。

分配形如:
对于 1 来说,要至少配对,可能 A 有更多。
对于其他花色来说,至少配对,可能 B 有更多。
这两种方案是等价的,只需反过来做合法括号序列即可。
值得注意的是,应用多步容斥可以把 dp 变为组合数,做到 \(\mathcal O(m)\)
然后需要做一个背包,使得 A 更多的,和其他花色中 B 更多的之和相等。
背包形如一个泛化物品合并 n 次,可以用多项式快速幂做到 \(\mathcal O(m\log m\log n)\)
嗯,反正 \(\mathcal O(nm^{2})\) 的复杂度就是最劣的了。

F

[Luogu](https://www.luogu.com.cn/problem/CF2025F)
给定一张无向图,要求对该图重定向,使得出度为奇数的点个数最少。
输出方案。
$n,m\le 3\times 10^5$
思路解析

奇偶性图论题,是不是很熟悉???
注意到这个限制实际上是非常弱的,感觉很容易调整。
答案会走向两个极端,一种是不可想的贪心流一侧,另一种是结论式的构造。
考虑下界并试图构造。
把问题放到 dfs 树(无向图无横叉边)上去考虑,调整。

正解

设一个点在一种方案中的出度为 \(d_{i}\),则答案为 \(\sum\limits d_{i}\bmod 2\)
显然有一个下界:
\((\sum\limits d_{i} \bmod 2)\bmod 2=\left( \sum\limits d_{i} \right)\bmod 2\)
\(\sum\limits d_{i} \bmod 2)\geq\left( \sum\limits d_{i} \right)\bmod 2\)

考虑对每个连通块去尝试构造这个下界。
奇偶性的问题考虑任意一棵搜索树。
(实际上这里的思维是一个由一般到特殊的过程)
注意到无向图在搜索树上
那么考虑归纳的构造,设 \(solve(u)\) 表示对于 u 子树内调整后除 u 以外都是偶数。
如果这一步能做到的话,只需把树边尽儿子挂到 u 上,归纳起来即可构造。
这样最后就构造出只有一个点不一定是偶数,于是卡到了下界。

问题在于这道题过于好调整,只要提供一个序就很好去优化(实际上甚至不需要考虑构造),这时候 dfs 树就是很优的了。

G

[Luogu](https://www.luogu.com.cn/problem/CF2025G)
对于一个角色和盾的集合,我们能用血量来描述角色和盾。
每个角色至多持有一个盾。
每次对所有角色和盾造成相同的伤害,且总伤害为 1,即每个实体收到 $\frac{1}{a+b}$ 的伤害。
盾破裂当且仅当自身血量耗尽或持有它的角色死亡。
分配盾给角色,最大化他们支撑的回合数。
起初为空,动态插入角色和盾,每次插入后求出答案。
$q\le 3\times 10^5,a_i\le 10^9$

相当长,有一点 trick 的套路题。

思路解析

考虑模拟。
推式子。
贪心最优。
进行贪心过程的分析并优化,建模。
分块维护。

正解

考虑已经给定了关系怎么做。
发现这个分数在打掉一点伤害前不会变化,则可以变化为对每一点伤害的存活实体数计数。
拆贡献,这样每个实体恰好被计算了 \(a_{i}\) 次,故总式子为 \(\sum\limits a_{i}+\sum\limits \min(a_{i},b_{i})\)
另一个角度,由于每轮的伤害总和确定,且伤害不会打到死亡的人身上,故总轮数也就是总血量了。

只需考虑第二个式子,想想什么时候最优。
发现只需两者都排序后从大到小匹配,邻项交换容易证明。

直接维护看起来是困难的,我们从静态的问题上刻画该过程。
发现可以把二者一起排序,扫描线的同时维护角色个数和盾个数的差即可。
这样去除了 \(\min(a,b)\) 必须匹配起来才能计算的过程,而是可以直接通过扫描线扫到的时候来确认。
这样我们确认了一个流程,只依赖于前缀差这唯一一个属性,且每一位是否贡献进来只取决于这个前缀差。

离散化(等值不同)并维护前缀和数组,支持单点激活,区间 \(\pm 1\),维护所有 \(\geq 0\)\(\leq 0\) 的和。
[[【纪中模拟】树上二维偏序问题]] 这道题我写过了,只需均摊地值域分块即可。

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

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

相关文章

Day34--方法的重写

Day34--方法的重写 override 重写 重写是方法的重写,和属性无关 示例: 创建下面三个java文件,并在A.java B.java里面创建方法,Application里面初始化A并引用test方法 ​ A类是B类的子类 package com.liu.oop.demo05;public class A extends B{public static void test…

分享三个选股思路: 元宝底、多维共振、短线金叉

分享三个选股思路: 元宝底、多维共振、短线金叉 作者: 深海游鱼 QQ:396068801 日期:2024年11月 1.元宝底:三条短线快速形成金叉时,是短线追涨买点。 2. 多维共振: 最价金叉+Macd水上金叉,也是短线买点,如果能回踩接人更好。 3. 短线金叉: 三条短期均线聚拢,首日形…

(1)环境准备

前言 暑假趁着打折买的7020,一直到现在(2024年11月20日12:56:06)才打开,然后今天心血来潮准备那驱动啥的都捯饬一下,顺便这几天再看一看有些操作,免得后面用的时候才临时去弄 设备连接 如下图,很方便,直接一根type-c线就搞定了,因为这玩意的下载器直接集成在开发板上了…

SUMO文档阅读——PlainXML

Tutorials https://sumo.dlr.de/docs/Tutorials/index.html net.xml (道路设置) 和 route.xml (车类型设置 + 车流量设置) + .sumocfg (综合前两个xml文件) 十字路口的例子 https://sumo.dlr.de/docs/Networks/PlainXML.html Tools https://sumo.dlr.de/docs/Tools/#tools_by_…

大学减负小技巧

一切仅供学习研究参考。 方法有很多,这里只提供本人认为最方便的手段。 一.脚本刷网课 以Edge浏览器,超星学习通为例 1. 下载脚本管理器,这里使用篡改猴 (Tampermonkey)第二个,下载安装,并固定到工具栏 2.下载合适的脚本,这里推荐这个extension://iikmkjmpaadaobahmlepel…

国产数据库oceanBbase,达梦,金仓与mysql数据库的性能对比 一、比对方法和结果

最近调研了三款国产化数据库与mysql做对比,调研主要性能指标是大数据写入速度、大数据读取速度以及是否支持分表。 一、测试结果 测试结果与预期的差别很大 1、先说oceanBase社区版这款数据库官网上描述性能非常好,感觉可以秒杀mysql,但实际测试结果单节点的情况下,和…

Moebius for SQL Server

Moebius(莫比斯)介绍 Moebius数据库多活集群是格瑞趋势为SQL Server数据库研发的能够同时满足可用性、数据安全、容灾、读写分离、负载均衡的一站式多活集群。集群的名字取自Moebius环,寓意无限扩展。Moebius采用“share nothing”架构,每个节点的SQL Server服务独立安装,…

母亲的回头

写在前面392 字 | 亲情 | 思考 | 陪伴 | 细节 | 情感 | 感触 | 体验 | 时间正文等车。我说,自己一个人就可以了,都等,空耗两个人的时间。母亲不肯。司机迟到了十多分钟。这过程中,母亲很焦急。我上了车。母亲敲了敲司机的车窗。司机将窗摇下来,听见她问收不收现金。司机点…

[68] (NOIP集训) NOIP2024 加赛 5

恐将成为我改题时间最长的一场(也是分最低的一场)码长断崖式领先了 flowchart TBA(暴力操作)style A color:#ffffff,fill:#00c0c0,stroke:#ffffff 首先你肯定要让小于(等于)中位数的数变小,将较大的值变小是毫无意义的,因为即使你完全不管他们,也不会对答案造成任何影响…

考研打卡(23)

开局(23) 开始时间 2024-11-20 11:07:52 结束时间 2024-11-20 12:01:50十一点醒了数据结构已知 10 个元素 (54,28,16,34,73,62,95,60,26,43) , 按照依次插入的方法生成一棵二叉排序树,查找值为 62 的结点所需比较次数为_____(复旦大学 2014年) A 2 B 3 C 4 D 5B…

apache直接打印php代码或直接下载问题

在/etc/httpd/conf/httpd.conf中的添加圈出的代码:下载问题,直接执行,然后重启apache: yum install mod_php

Java易混知识点列表比较

前前后后遇到了一些容易混淆的知识点,特地做了表格专栏捋清思路类一级成员与实例成员类一级成员 实例成员属于 类本身 类创建的实例对象举例 static(变量/方法/初始化块)、内部类 普通成员直接访问 类名.member 对象.memberclass superc{int i=5;void show(){System.out.pri…