首页 > 其他分享 >IOI2025集训队互测 W5

IOI2025集训队互测 W5

时间:2024-11-12 16:21:38浏览次数:1  
标签:vb rs sum W5 ls laz IOI2025 subseteq 互测

Day13(20241112)

获得成就:在集训队员中登顶。

T1 线段树与区间加

感觉题解做法很牛,所以我来写一下我的 \(O(n\log n+q\sqrt{n})\) 做法。

我们先考虑单独维护 \(laz\) 数组。

如果先不考虑 pushdown。发现我们对区间 \([l,r]\) 进行加法操作,就是找到所有 \([L_i,R_i]\subseteq[l,r]\) 且 \([L_{fa_i},R_{fa_i}]\subseteq[l,r]\) 的节点 \(laz\) 增加 \(k\)。发现这个限制太奇怪了,所以我们考虑对于所有 \([L_i,R_i]\subseteq[l,r]\) 的节点 \(laz\) 增加 \(k\)。那么一个节点实际上的 \(laz_i\) 就等于 \(laz_i-laz_{fa_i}\)。

那么对其求和就有 \(\sum vb_i(laz_i-laz_{fa_i})\),交换一下顺序就有 \(\sum laz_i(vb_i-vb_{ls}-vb_{rs})\)。发现这样 pushdown 只需要把那些要 pushdown 的节点的 \(laZ_i\) 变成 \(0\) 即可。

我们记 \(val_i=vb_i-vb_{ls}-vb_{rs}\),那么我们维护的操作有:

  • 对于所有 \([L_i,R_i]\subseteq [l,r]\) 的节点 \(laz_i\) 加上 \(k\)。
  • 对于所有 \([l,r] \subseteq[L_i,R_i]\) 且 \([L_i,R_i]\not\subseteq [l,r]\) 的节点的 \(laz_i\) 清空。
  • 查询的 \(\sum val_ilaz_i\)

发现把所有的 \((L_i,R_i)\) 看成二维平面上的点,那么要做的操作就是矩形加和矩形推平,考虑使用 KDT,时间复杂度为 \(O(q\sqrt{n})\)。

现在再考虑吧 \(a\) 数组。

仍然沿用上面对于 \(laz\) 的修改,那么对于一个区间,如果这个区间的实际区间和为 \(sum_i\),那么有 \(a_i=sum_i-laz_{fa_i}*len_i\)。

那么维护 \(\sum va_ia_i\) 就是要维护 \(\sum va_isum_i-\sum laz_i(va_{ls}len_{ls}+va_{rs}len_{rs})\)。对于前者,每一次修改的贡献可以通过前缀和和差分实现;对于后者,只需要将 \(val_i\) 修改成 \(vb_i-vb_{ls}-vb_{rs}-va_{ls}len_{ls}-va_{rs}len_{rs}\) 即可。时间复杂度仍然是 \(O(n\log n+q\sqrt{n})\),感觉跑起来还挺快的。

T2 字符串

考虑 \(S[i,i+l-1]<S[i+l,i+2l-1]\) 意味着什么,发现在绝大多数情况下等价于 \(rk_i<rk_{i+l}\),其中 \(rk_i\) 表示 \(i\) 在后缀数组中的排名。

而 \(rk_i<rk_{i+l}\) 可以直接二维数点,使用树状数组可以做到 \(O((n+q)\log n)\)。

发现反例就是 \(S[i,i+l-1]=S[i+l,i+2l-1]\) 但 \(rk_i<rk_{i+l}\) 的情况。考虑如何处理 \(S[i,i+l-1]=S[i+l,i+2l-1]\)。

直接使用优秀的拆分的 trick,先枚举 \(l\),然后找到满足 \(S[i,i+l-1]=S[i+l,i+2l-1]\) 的 \(i\) 连续段 \([L,R]\),那么如果有 \(rk_L<rk_{L+l}\),那么这一段区间都是被额外统计的。而这样的连续段最多只有 \(O(n\log n)\) 段,仍然使用树状数组进行二维数点可以做到 \(O((n+q)\log^2n)\),常数较小可以通过。

发现这种结构其实就是 runs,所以我们对于每一个 runs,枚举最小循环节重复多少次,这样得到的连续段 \([L,R]\) 只有 \(O(n)\) 个,时间复杂度也就做到了 \(O(n\log n)\)。

T3 格雷码

据说可以把这个题的大致做法。

发现格雷码的限制比较宽松,所以认为在 \(n\mid 2^n\) 时,极差为 \(0\);\(n\not\mid 2^n\) 时,极差为 \(2\)。

你发现直接构造是不太可能的,所以考虑增量构造。发现 \(n\to n+1\) 不太现实,所以考虑 \(n\to n+2\)。

在 \(n+2\) 中,我们对于后 \(n\) 位的构造还是依赖 \(n\) 的结果,想办法对于前两位来进行构造。

我们将 \(n\) 的序列拆成:\(A_1P_2A_2P_2\dots A_mP_m\),其中 \(A_i\) 是一段操作,\(P_i\) 是单个操作,\(A_i^R\) 记为 \(A_i\) 反转后的结果。

题解给出如下构造方式(\(m\) 为奇数):

\[\begin{matrix}A_1,n+1,A_1^R,n+2,A_1,P_1\\A_2,n+2,A_2^R,n+1,A_2,P_2\\\dots \\A_m,n+1,A_m^R,n+2,A_m\\n+1,A_m^R,P_{m-1},\dots A_2^R,P_2,A_1^R,P_1,n+2\end{matrix} \]

发现 \(A\) 中的数出现了 \(4\) 次,\(P\) 出现了 \(2\) 次,但 \(P_m\) 没有出现,\(n\) 和 \(n+1\) 出现了 \(m+1\) 次。由于极差取的是最小值,所以数字出现次数的集合是确定的,想办法找到一组满足条件的分割即可。

标签:vb,rs,sum,W5,ls,laz,IOI2025,subseteq,互测
From: https://www.cnblogs.com/Xun-Xiaoyao/p/18541840

相关文章

  • SpringBoot校园二手书籍信息平台w5mzh--(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、研究目的与意义随着高校教育的普及,书籍成为大学生日常学习不可或缺的资源。然而,书籍的高消耗量和频繁更新导致了资源的浪费。因此,构建一个校园......
  • W5500以太网模块 - 25MHz谐波超标
    在低频超标的,25M倍频,100M以太网产品针对W5500以太网模块25MHz谐波辐射不合格的问题,可以采取以下措施进行解决:1.检查晶振电路晶振选择:确保使用的晶振符合W5500模块的要求,具有稳定的频率和较低的谐波。w5500的晶振输出输入分别加rc滤波,w5500出来的时钟加π型滤波电路布局:优化......
  • 软件测试、交互测试有什么区别
    ​​软件测试与交互测试的区别:1.软件测试概念;2.交互测试概念;3.目的和重点;4.测试方法;5.测试内容;6.应用场景;7.测试工具;8.测试人员;9.测试结果的处理。软件测试更注重产品的功能性、性能及稳定性,而交互测试则侧重于用户体验和界面操作的流畅性。1.软件测试概念软件测试是在软件开发......
  • 项目-STM32F765VIT6+W5500 使用单片机串口发送命令实现OTA远程升级单片机程序测试说明
       测试1,单片机通过SPI1和模块通信; 单片机PA8引脚作为复位模组使用;串口1做日志打印(115200); 2,打开例程 3,使用下载器先下载BootLoader,然后再下载用户程序   4,在网站的根目录建几个文件夹  目录要和mcu_project程序里面的目录一致 ......
  • P10009 [集训队互测 2022] 线段树
    我们先考虑全局操作的影响。我们对每个位置考虑前面位置对它的贡献,根据差分序列的性质,当你做了\(k\)次异或差分,可以看作每次每个位置贡献给下一行的这一个位置和右侧一个位置,即\(c_{i,j}\toc_{i+1,j},c_{i+1,j+1}\),这个东西显然和杨辉三角等价,贡献方式可以视作每次向下一行......
  • SSM医院门诊管理系统u4pw5 线上挂号
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统内容:用户,医生,在诊医生,挂号信息,取消信息,科室,病例信息,停诊申请,医院公告,医生管理员开题报告内容一、选题背景与意义随着医疗改革的深化和信息技术......
  • [集训队互测 2022] Range Minimum Element
    好题先不考虑\(b\)序列的计数,我们先考虑构造\(a\)序列。由于是区间min,所以考虑从小到大填数(类似笛卡尔树),所以设\(dp_{l,r,k}\)表示在\([l,r]\)的区间中填的数都\(\lek\),那么就有了转移式\(dp_{l,r,k}=\sum_{i}dp_{l,i-1,k-1}*dp_{i+1,r,k}\)但是这个dp转移......
  • https://www.bilibili.com/video/BV1Bg41167W5/ 突破英语听力口语瓶颈20|掌握5种弱读,不
    functionwordsArticles(the,a/an)Auxiliaries(can,must,might,will)Demonstratives(this,these,that,those)Quantifiers(many,few,little,some)Prepositions(on,with,to,from)Pronouns(he,she,they,we)Conjunctions(and,but,or,but) 1.ReducingConjunction弱读连词......
  • P10013 [集训队互测 2023] Tree Topological Order Counting
    Description给定一颗\(n\)个点的有根树,\(1\)是根,记\(u\)的父亲是\(fa_u\)。另给出一长度为\(n\)的权值序列\(b\)。称一个长度为\(n\)的排列\(a\)为这颗树的合法拓扑序,当且仅当\(\forall2\leu\len,a_u>a_{fa_u}\)。对每个点\(u\),定义\(f(u)\)为,在所有这......
  • GW56网关对接华为云平台
    接下来讲的是通过网迅通GW56网关接入华为云平台,通过MQTT实现读取与控制。主要步骤是通过GW56网关脚本编辑,通过Node-Red组帧上发数据至云平台。实验步骤登录华为云平台共建智能世界云底座-华为云(huaweicloud.com)登录进去后点击进入控制台用户首次使用需要实名认证(......