当前位置: 首页 > news >正文

CF2157

CF2157E Adjusting Drones

发现对于一次变化,如果值 \(i\)\(i+1\) 均满足 \(cnt_{i},cnt_{i+1} \ge 1\),那么 \(i\) 相当于是直接平移到 \(i+1\)。因为 \(cnt_i-1 +1=cnt_i\)。如果 \(cnt_{i+1}=0\),那么相当于 \(cnt_i-1\) 平移到 \(i+1\)

考虑维护一个联通块的代价,不同联通块互不影响。维护 \([1,i]\) 的答案,假定 \([i+1,2n]\)\(cnt\) 均为 \(0\)。加入 \(i\),若之前操作的过程中有一个值平移到 \(i\) 之后,那么实际上在平移到 \(i\)\(cnt\) 就不会减了,而需要等到 \(cnt_i\) 减到 \(0\) 才能继续减。也就是说,之前的终止位置 \(r\) 现在实际上是 \(r+cnt_i\)。如果之前操作的过程中不存在平移到 \(i\) 的情况,也就是终止位置 \(r<i\),说明 \(i\) 开始就是一个新的联通块,此时在假定后面都是 \(0\) 的情况下终止位置为 \(i+(cnt_i-k)\)

显然,一定能够得到某个时刻的起始位置和终止位置的距离恰好是最终答案,且中途的距离不会超过答案。时间复杂度 \(O(n)\)

CF2157F Git Gud

直观地,我们可以尝试对 \([1,n]\) 分块,让每个块内的值先达到块的右端点,然后再通过不断从当前块的右端点跳到下一个块的右端点实现所有值均不小于 \(n\)。因为在不管额外的 \(1000\) 的代价时,这样只会有 \(O(\frac{n}{B})\) 次大跳,其它的 \(O(n)\) 次都是 \(l=1\) 的小跳。

假设 \(n=8\),将 \([1,n]\) 分成了 \(1234|5678\)。显然我们需要尽可能地让 \(y_i < y_{i-1}\),而又不破坏每个块内元素的相对顺序。因为 \([1234]\)\([5678]\) 是独立的,所以可以构造形如:\(516273\) 的顺序,这样 \(y_i > y_{i-1}\) 的情况只会有 \(O(B)\) 个,且保证的块内的相对顺序。那么总的代价就是 \(n+\frac{n}{B}\times (B+1000) +B \times 1000\)。也就是 \(2n+1000(\frac{n}{B}+B)\) 的。在 \(B=\sqrt{n}\) 时大概是 \(1.5 \times 10^6\)。已经很接近了。

既然可以将 \([1,n]\) 分成 \(O(\frac{n}{B})\) 个块,那么能不能再分呢。也就是说,对于块内点先跳到右端点的问题,实际上可以看做一个 \([1,B]\) 的子问题。记二次分块的块长为 \(B2\)。仿照上面的操作,将 \(O(\frac{n}{B2})\) 个小块依次处理,且保证内部相对顺序,可以在 \(n+B2 \times 1000\) 的代价内将小块内部的点先移动到右端点。那么此时相当于一个大块内只有 \(O(\frac{B}{B2})\) 个点了。再次移动代价为 \(n+\frac{B}{B2}1000\)。此时剩下 \(O(\frac{n}{B})\) 个点,代价 \(n+\frac{n}{B}1000\)。那么总的代价就是 \(3n+1000(\frac{n}{B}+\frac{B}{B2}+B2)\)。在 \(B=n^{\frac{2}{3}},B2=n^{\frac{1}{3}}\) 时代价降至 \(3n+3000 n^{\frac{1}{3}}\)。远小于 \(10^6\)

CF2157G Isaac's Queries

显然在 \(\frac{n\times(n+1)}{2}\) 次询问后可以知道所有询问的答案……

尝试通过已知信息得到其它未知信息。由 \(f(l,r)=f(x,l-1)\oplus f(x,r)\) 得知,在 \(Q(x,l-1)\ne Q(x,r)\) 时,\(Q(l,r)=\max(Q(x,l-1),Q(x,r))\)。因为两个询问中 \(highbit\) 大的一定在 \([l,r]\) 出现了奇数次,且更高为一定出现偶数次。

也就说,只要对于一个 \(x\),知道了 \(Q(x,l),Q(x,r)\)\(Q(x,l)\ne Q(x,r)\),就可以推出 \(Q(l+1,r)\)。贪心地,从 \(l-x+1\) 最大的开始,如果当前询问不知道,就询问一次,然后推出所有可以知道的询问。这样的代价在数据随机的情况下并不大。

http://www.jsqmd.com/news/48893/

相关文章:

  • 2025 年 11 月合肥搬家公司权威推荐榜:专业团队与贴心服务,覆盖包河区、蜀山区等全市范围,高效省心搬家首选
  • Dexie.js 使用教程
  • 2025重庆好的留学机构
  • 2025新加坡留学中介排行
  • 2025苏州最好的留学机构在哪里啊
  • 2025深圳美国留学机构排名前十
  • 详细介绍:手机环境光自动亮度调节系统完整实现详解
  • 2025 年 11 月激光切割钢结构,大型钢结构,C 型钢结构厂家最新推荐,聚焦资质、案例、售后的五家机构深度解读!
  • Web 常见名词解释
  • 2025 年 11 月钢结构安装,钢结构设计,贰级资质钢结构,H 型钢结构最新推荐:聚焦资质、案例、售后的五家机构深度解读
  • AI与智能工具如何终结自由职业者发票困境
  • 2025年山东连栋玻璃温室公司权威推荐榜单:玻璃智能温室/玻璃连栋温室/玻璃温室设计源头公司精选
  • 2025 合同纠纷律师咨询最新推荐排行榜:股权债务 / 劳动仲裁 / 民商事诉讼顶尖法律顾问权威指南
  • 【数字逻辑】流水灯实战!红5秒/黄2秒/绿1秒精准控时(74HC161+74HC138完整便捷的方案+接线图)
  • windows11关闭系统自动更新
  • 2025年北京儿童孤独症谱系障碍培训权威推荐榜单:儿童高功能自闭症/儿童注意力培训机构/儿童注意力集训营培训精选
  • 2025 建筑工程施工总包施工团队最新推荐榜:聚焦质量管控与新锐势力,5 大维度权威甄选优质企业
  • 2025 最新聚合硫酸铁优质生产厂家最新推荐:覆盖多类型产品 解析实力厂商核心优势 助力采购方精准选品固态聚合硫酸铁 / 粉末聚合硫酸铁 / 硫酸亚铁公司推荐
  • linux lvm管理
  • AI SDK:重新定义 AI 应用开发
  • 2025年中频点焊机厂家权威推荐榜单:中频直流点焊机/中频交流点焊机/中频焊接设备源头厂家精选
  • 20232410 2025-2026-1 《网络与系统攻防技术》实验七实验报告
  • 主流开源JS地图框架选择
  • 管理千家经销商之困:医疗器械耗材生产企业的数字化破局之道
  • CH395Q INT脚变化说明
  • PHP 8.5 在性能、调试和运维方面的新特性
  • 洛谷 B3694:数列离散化 ← 数组 + sort + unique + lower_bound
  • 完整教程:2025年接单经验和软件外包平台一览
  • SpringCloud 常见面试题(三)
  • 4.Rocky Linux 网络配置 - 教程