AT VP 记录

news/2025/10/5 19:14:39/文章来源:https://www.cnblogs.com/Lyrella/p/19126910

AGC057

A

可以注意到用位数少的一定不优,因为其向外拓展的方式更多导致不能用的数也越多。所以我们肯定先选择位数最多的,然后考虑剩下的还有哪些可以选。假设 \(r\) 的位数为 \(k\),考虑 \([\max(10^{k-1},l),r]\) 都可以选。现在我们要处理位数更少的情况。考虑 \(r\) 的最高位,如果大于 1 那么说明长度为 \(k-1\) 的所有串已经全部被包含就不管了,否则就需要管。考虑 \(r\) 对长度为 \(k-1\) 的串的限制一定是一段前缀,于是找到右端点即可。

B

对于一些神秘题我们考虑先从简单情况入手。我们考虑两个数 \(x,y\) 怎么做。如果 \(x<<y\) 那么我们一定是先让 \(x\) 变大;如果 \(x<y<2x\) 那么考虑令 \(d=y-x\),如果 \(d<k\) 那么通过一定的操作我们能够让两者相同,否则每次的差距只会越来越大,所以不操作最优。我们考虑将 \(x\) 扩展能够得到 \([2x,2x+k]\),每次都是一段区间。如果区间能够包含 \(y\) 那么就没有贡献,否则我们肯定是找到 \(y\) 前面区间的右端点和后面区间的左端点进行选择最优。

对于多个数的情况考虑一个特殊的数,也就是序列最大值,假设叫 \(t\)。如果我们最后得到的序列 \(x\) 被操作了 \(q\) 次,那么其他数起码都要操作 \(q\) 次。证明考虑如果再条一步一定会离 \(t'\) 更近。所以我们可以让 \(t\) 固定,去考虑剩下的数。因为 \(t\) 固定了,所以我们肯定是让其他数尽量靠近它才更优。于是就变成了若干上面两个数的问题,只不过现在对于一个数我们有两种选择,要么选前面区间的右端点 \(lp_i\),要么选后面区间的左端点 \(rp_i\),最后要让选出的数极差最小。这个问题我们可以按 \(lp_i\) 排序,然后我们去考虑答案区间左端点的位置。假设是 \(lp_i\),那么对于 \(i+1\)\(n-1\) 的数我们选 \(lp\) 一定不劣,剩下的一定会选 \(rp\),于是我们维护一个前缀 \(rp\) 最大值即可。

C

先考虑判无解,设 \(m=2^{n-1}\),则一个排列能还原的一个必要条件是 \(p_i\equiv p_{i+m}\pmod{m}\)。证明考虑最终状态下一定是满足条件的,然后就是因为只有异或和 +1 操作,所以这个条件始终成立。

先考虑简单的情况,如果 \(\forall i\in[0,m),p_i\) 的最高位都是 0,那我们直接异或一个 \(p_0\) 就做完了。那如果不为零,我们就想去把它们全都变成零。从左到右考虑 \([0,m)\) 的每个位置,考虑怎么操作才没有后效性?若当前考虑到了 \(i\),前面 \([0,i)\) 的最高位都变成了零,当前是 1,我们考虑用一些 +1 和异或把 1 变成 0 并且不影响其他位置的最高位。首先如果一直 +1 显然不行,所以我们最开始考虑异或。但是如果我们最高位异或上 1 那不就废了吗?这里我们可以先把 \(p_i\) 异或成 \(2^n-1\),这样我们最高位异或上了一个零不会对其他地方有影响,然后我们全局 +1。这时候 \(p_i\) 会变成 0,考虑其他位置若是要最高位变成 1 那一定会产生进位。如果一个 \(p_j\) 要进位那么有 \(p_j=m-1\),但是考虑我们的 \(p_i=2^n-1\),那么就有 \(p_{i+m}=m-1\),于是这样操作永远不会进位。并且这样操作次数不超过 \(2^n+1\),非常优秀。

具体维护可以使用 01trie,时间复杂度 \(\mathcal O(n2^n)\)

D

首先我们要找到合法数列的上界,其次考虑如何做使得字典序最小。考虑若干形如 \((i,S-i)\) 的数对,显然这里面最多只能选择一个,如果两个都选那么就能凑出 \(S\) 了,所以答案的上界为 \(\left\lfloor S-1\over2\right\rfloor\)。现在我们考虑简化问题,我们其实可以通过确定一个合法的集合 \(B\) 满足 \(\forall x\in A,x\le\left\lfloor S-1\over2\right\rfloor\),据此确定 \(A\)。考虑对于之前的数对 \((x,y),x<y\),若 \(x\notin B\),那么有 \(y\in A\),否则有 \(x\in B\subseteq A\)。现在我们尝试去寻找字典序最小的 \(B\),显然若 \(B\) 满足字典序最小则有 \(A\) 同样满足字典序最小。

在开始前我们先来证明一个引理。

引理:若 \(a,b\in B,a+b\le\left\lfloor S-1\over2\right\rfloor\),则 \(a+b\in B\)

证明考虑反证法。如果 \(a+b\notin B\),那那么有 \(S-a-b\in A\),于是 \(A\) 中的元素就能够凑出 \(S\) 了。矛盾。

首先我们要明确一点,就是我们从小到大去考虑 \(i\le\left\lfloor S-1\over2\right\rfloor\),如果 \(i\) 能被选择那么我一定会去选它。这里会有一个问题,就是说为啥这样构造出来的 \(B\) 对应的 \(A\) 一定合法呢?考虑反证法,首先 \(B\) 一定合法,若 \(A\) 不合法,那么一定存在一个 \(x>\left\lfloor S-1\over2\right\rfloor\) 能与若干 \(y\in B\) 凑出 \(S\)。因为对于形如 \((i,S-i)\) 的数对只能选择一个数,所以 \(S-x\notin B\)。但是因为有若干 \(y\in B\) 能够凑出 \(S-x\),根据引理有 \(S-x\in B\),所以矛盾。这样就说明了做法的正确性。

接下来我们考虑会加入什么数以及加入的数有什么性质。假设现在 \(x\) 能加入 \(B\),那么对于 \(\forall y=kx,y\le\left\lfloor S-1\over2\right\rfloor\) 一定也能加入 \(B\)。如果原来集合里有 \(x\),我们加入 \(y\),那么对于 \(\forall v=k1x+k2y,v\le\left\lfloor S-1\over2\right\rfloor\) 一定也能加入 \(B\)。这显然可以考虑同余最短路。

考虑最短路之前我们需要找到最小的 \(x\in B\),考虑找到最小的 \(x\not\mid S\)。因为 \(\text{lcm}(1,2,\dots,x-1)\mid S\),所以能算出 \(x\le43\),设为 \(p\)。然后就正常同余最短路做即可。

具体的,我们设 \(f_i\) 表示 \(B\) 中元素能组合出最小的 \(x\bmod p=i\) 的数,加入一个 \(x\) 就有 \(f_{i}\leftarrow f_{(i-kx)\bmod S}+kx\),你写成转两圈的形式会好写一些。一个元素加入后合法当且仅当 \(f_{S\bmod p}>S\),结合 dp 转移式有 \(\forall i,x>\left\lfloor S-f_{(S-ix)\bmod p}\over i\right\rfloor\)。到此这个题差不多就做完了,求答案考虑二分,若要求 \(B\)\(\le k\) 的元素个数,则有 \(\sum\limits_{i=0}^{p-1}\left\lfloor k-f_i\over p\right\rfloor+[i>0]\)。时间复杂度 \(\mathcal O(p^3+p\log n)\)

E

困难题,花费大量时间才会。

注意到值域很小,我们考虑从此入手。假设现在只有 01 两种数,那么我们对一个 \(A\) 进行操作后会是什么样子?如果是先行后列,相当于我们对每一行按 0 的数量降序排序且把 0 放在每行最前面;如果是先列后行,相当于我们对每一列按 0 的数量降序排序且把 0 放在每行最前面。 一个 \(A\) 合法,肯定需要让其行和列分别构成的可重集相等,并且 \(A\) 的可重集和 \(B\) 的可重集也一定是相等的。说明我们对 \(B\) 进行一些行或列的交换能够得到 \(A\)。我们刻画一下这个东西,相当于如果一个 \(A\) 合法,当且仅当存在两个排列 \(p,q\),满足 \(\forall i,j,A_{i,j}=B_{p_i,q_j}\)。这个东西的数量就是两个可重集的排列数相乘:

\[n!m!\over \left(\prod\limits_{j=1}^m\left(\sum\limits_{i=1}^n[a_i=j]\right)!\right)\left(\prod\limits_{i=1}^n\left(\sum\limits_{j=1}^m[b_j=i]\right)!\right) \]

现在考虑拓展。对于值域 \([0,9]\) 的时候我们还是先思考如何判断合法。注意到值域很小,于是我们考虑枚举值域,设当前枚举到 \(i\),那么我们将所有小于等于 \(i\) 的看成 0,否则看成 1,然后去判断 01 矩阵是否合法。如果每个 \(i\) 都合法那么这个矩阵合法。我们还是考虑刻画这个条件,相当于是存在一组排列 \((p_0,q_0,p_1,q_1,\dots,p_9,q_9)\),满足 \([A_{i,j}\le k]=\forall i,j,k,[B_{p_{k,i},q_{k,j}}\le k]\)。这个条件必要性显然,考虑充分性。就是说我们在考虑枚举值域 \(i\) 的时候,相当于在前面枚举 \(i-1\) 的基础上将变化的位置填上 \(i\)。这样填肯定是能对应一个合法的 \(A\) 的。于是现在我们就去考虑满足条件的排列组数,然后去掉重复的方案数。

直接做是困难的,我们考虑将每个条件独立。现在有 \(B_{p_{k,i},q_{k,j}}\le k\rightarrow B_{p_{k+1,i},q_{k+1,j}}\le k+1\),为了让每个枚举的 \(k\) 独立出来,我们考虑去计数更好做的。本来我们每次的排列 \((p_k,q_k)\) 是在 \((p_{k-1},q_{k-1})\) 的基础上得到的,现在我们考虑定义一个 \(p'_k={p_k\over p_{k-1}}\),然后拿 \(p'_k\) 去限制,这样就把每个 \(k\) 独立出来了。现在的条件就变成了 \(B_{i,j}\le k\rightarrow B_{p'_{k,i},q'_{k,j}}\le k+1\)

注意到 \(B\)\(\le k\) 的部分是杨表,所以一个位置小于一个数的条件可以简化。设 \(a_i\) 表示 \(B\) 的第 \(i\) 行最后一个 \(\le k\) 的位置,\(b_j\) 表示第 \(j\) 列最后一个 \(\le k\) 的位置。现在我们就能将前面的条件继续转化:\(\forall j\le a_i,p'_i\le b_{q'_j}\)。考虑到 \(b\) 递减,所以当 \(q'_j\) 取最大值时限制最严,然后限制就变成了 \(p'_i\le b_{\max\limits_{j=1}^{a_i}q'_j}\)。我们令下面那一坨等于 \(c_i\),如果我们知道了 \(c_i\) 就能对 \(p',q'\) 计数。

考虑 \(p'\)。因为 \(a_i\) 递减,所以 \(c_i\) 递减,\(b_{c_i}\) 递增。于是 \(p'\) 的个数就是 \(\prod\limits_{i=1}^nb_{c_i}-i+1\)。考虑 \(q'\)。如果有 \(c_i=c_{i-1}\) 说明 \((a_{i},a_{i-1}]\) 中没有最大值,考虑区间内选第一个数答案是 \(c_i-1-(a_i-1)=c_i-a_i\),后面依次少一。如果里面有最大值,考虑每个位置出现最大值是等价的,于是多乘一个 \(a_{i-1}-a_i\) 即可,因为剩下的就等价于没有最大值的填法。

对于这个东西我们就可以考虑 dp 了,设 \(f_{i,j}\) 表示前 \(i\) 个数,\(c_i=j\) 的方案数。转移就按照上面说的做即可,注意转移的贡献与 \(j\) 无关,于是考虑后缀和优化一下即可。时间复杂度 \(\mathcal O(nmV)\)

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

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

相关文章

05-springAOP的实现

05-springAOP的实现$(".postTitle2").removeClass("postTitle2").addClass("singleposttitle");Spring IOC与AOP全面详解 一、Spring IOC 三种实现方式 1.1 IOC 容器核心概念 IOC(控制…

商务网站建设策划书上海网站推广排名公司

1.Linux的发展史 Linux&#xff0c;一般指GNU/Linux&#xff08;单独的Linux内核并不可直接使用&#xff0c;一般搭配GNU套件&#xff0c;故得此称呼&#xff09;&#xff0c;是一种免费使用和自由传播的类UNIX操作系统&#xff0c;其内核由林纳斯本纳第克特托瓦兹&#xff08…

实用指南:npm run build 报错:Some chunks are larger than 500 KB after minification

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

赣州网站建设精英创建公众号的流程

openGauss2.1.0 TPC-C数据导入 一、下载tpch测试数据二、导入测试数据 一、下载tpch测试数据 使用普通用户如omm登录服务器执行如下命令下载测试数据库&#xff1a;git clone https://gitee.com/xzp-blog/tpch-kit.git二、导入测试数据 进入dbgen目录下&#xff0c;生成makef…

做网站代理商好赚吗安庆市住房和城乡建设局网站首页

前言:Hello大家好,我是小哥谈。YOLOv10是由清华大学研究人员利用Ultralytics Python软件包开发的,它通过改进模型架构并消除非极大值抑制(NMS)提供了一种新颖的实时目标检测方法。这些优化使得模型在保持先进性能的同时,降低了计算需求。与以往的YOLO版本不同,YOLOv10的…

rpm安装

rpm安装 rpm -i --test XaoS-3.0-1.i386.rpm 出现错误: error: failed dependencies: libslang.so.0 is needed by XaoS-3.0-1 libpng.so.0 is needed by XaoS-3.0-1 libaa.so.1 is needed by XaoS-3.0- 但是,libsla…

关于主体性介枚枚介的讨究

https://chat.deepseek.com/share/30lca1gdhicrqw87i3

2025索道厂家最新企业品牌推荐排行榜,城市交通索道,旅游索道,滑雪索道,单人固定抱索器拖牵索道,固定抱索器吊篮式索道公司推荐

当前索道行业发展迅速,市场上各类索道厂家数量众多,但质量与服务水平参差不齐。部分厂家存在技术储备不足、生产设备落后、质量控制体系不完善等问题,导致产品安全性难以保障,同时在后期安装与运营管理服务上也存在…

无向图三元环计数 小记

无向图三元环计数 先给每条边定向:由度数小的点连向度数大的点,若度数相等则按编号。 这样一个合法的三元环 \((x,y,z)\) 一定形如 \(x\to y,x\to z,y\to z\)。 考虑枚举 \(x\),把所有 \(z\) 打上标记,再枚举 \(y\…

引擎搜索网站模板dw外部网站链接怎么做

课程简介 现在还能做解说吗、不会写解说文案怎么解决、不会配音怎么解决、如何找到合适的素材资源、如何变现…这是很多想做解说的伙伴最关心的几大问题。比如文案&#xff0c;我们推荐一个网站&#xff0c;10分钟搞定一篇文案&#xff0c;配音可以真人配音也可以软件配音。5.…

我终于悟了p1970 花匠

我终于悟了p1970 花匠设dp[i][0/1]前i个中最后为从上向下转移/从下向上转移的最大长度 dp[i][0]=max(dp[i-1][1]+1,dp[i-1][0]); 如果不选的有一个很重要的性质,(os:严重影响我今晚的晚饭) B:大,S:小 B S B S B …

Python语法基础篇(含有类型转换、拷贝、可变对象/不可变对象,函数,拆包,异常,模块,闭包,装饰器)

Python语法基础篇(含有类型转换、拷贝、可变对象/不可变对象,函数,拆包,异常,模块,闭包,装饰器)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: b…

2025 年探伤仪厂家最新企业品牌推荐排行榜,涡流探伤仪,超声波探伤仪,管材探伤仪,焊缝探伤仪,无损探伤仪推荐这十家公司!

在当前工业生产领域,无损检测作为保障产品质量与安全的关键环节,其重要性日益凸显。然而,随着市场需求的不断增长,探伤仪制造行业也面临着诸多问题。一方面,部分制造商技术研发能力不足,产品性能难以满足高精度、…

2025 年建筑工程施工总包最新推荐排行榜,以严格质量管控彰显行业实力推荐这十家公司!

当前建筑工程行业在发展过程中面临诸多挑战,给项目推进和质量保障带来不少难题。从市场层面来看,部分施工总包企业资质不全,技术实力薄弱,在承接项目后难以满足工程建设的专业要求,导致工程质量参差不齐。一些企业…

平滑技术(数据处理,持续更新...) - 指南

平滑技术(数据处理,持续更新...) - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "…

实用指南:本地部署 DeepSeek R1(最新)【从下载、安装、使用和调用一条龙服务】

实用指南:本地部署 DeepSeek R1(最新)【从下载、安装、使用和调用一条龙服务】2025-10-05 18:54 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overf…

与斐波那契数列相关的对换题目 CF553B Kyoya and Permutation

定义标准循环表示法。 即,对于每个循环,都将其最大值放在最前面,然后将这若干个循环按照最大值从小到大排列。这样,\([4,1,6,2,5,3]\) 的标准循环表示法就是 \((4 2 1)(5)(6 3)\)。 定义好的排列:原排列和标准循环…

建音乐网站网站备案说明

字符串优化 小字符会优化为栈上&#xff0c;长度大于15才会堆声明&#xff08;带上终止符16&#xff09; 在各种实际应用中&#xff0c;使用字符串的场景不在少数&#xff0c;总有由于一些错误的代码书写&#xff0c;导致产生性能问题&#xff0c;我们今天学习一种针对字符串…

wpf .net 8 使用mvvm指南

wpf .net 8 使用mvvm指南xaml: <UserControl x:Class="WpfApp1.Controls.GWEditControl.GWEditCotrol" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" …

office办公软件

常见的办公软件就是微软的office和wps,微软的office太过臃肿,随随便便就是好几个G,国产WPS简直就是垃圾,广告多,还时不时的更新,然后被迫安装一堆软件,下面介绍一个还不错的开源,免费,无广告的办公软件。 它就…