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

2025.10.29

正睿二十连测

B

赛后:\(30min\)

有一个大小为 \(2 \times n\) 的网格,\((i, j)\) 的颜色为 \(a_{i, j}\),一次操作可以将 \((1, 1)\) 所在的极大四连通同色连通块染为任意一种颜色 \(c\)。问至少需要多少次操作才能使整个网格变为同一种颜色?

每次操作可以刻画成从 \((1, 1)\) 开始向右扩张。

但是显然不是所有点都需要经过,如果我们经过了一个第 \(i\) 列的 \(x\),那么前面的所有颜色为 \(x\) 的格子都会被改掉。所以如果我们经过了一个 \(x\) 在网格中最靠右的位置,前面的 \(x\) 都会被扩到,而如果没有经过只需要最后花费 \(1\) 的代价即可。

所以这个问题其实可以看成一个从 \((1, 1)\) 走到 \((1, n) /(2, n)\) 的路径,路径上相邻格子若颜色不同则有 \(1\) 的代价,如果没有经过某种颜色的最后一个格子(\(i\) 最大的)就需要额外的代价。

然后就可以直接 DP 了,令 \(dp_{i, 0/ 1}\) 表示路径走到了第 \(i\) 列第 \(1/ 2\) 行所花费的最小代价。转移如下。

for (int i = 1; i <= n; i++) {int v0 = dp[0][i - 1] + (i > 1 && a[i] != a[i - 1]); // 从第 i - 1 列走过来int v1 = dp[1][i - 1] + (b[i] != b[i - 1]);bool f = (a[i] != b[i]);dp[0][i] = min(v0 + (lst[b[i]] == i && f), v1 + f); // 如果 (1, i) 是 a[1][i] 中最后一个就有额外的代价。dp[1][i] = min(v1 + (lst[a[i]] == i && f), v0 + f);
}

时间复杂度:\(O(n)\)


这个题麻烦的点就是染了一种颜色,改变了一些点,可能出现 \((i, j)\) 被扩张到了,\((i, j - 1)\) 却没有,可能需要多一次代价来染。解决方式是对于每种颜色只需要关心是否经过最后的格子,经过就可以把之前所有的为这种颜色的都改掉。然后题目就变成了一个路径问题,可以 DP 了。

C

赛时花了 \(1h20min\) 过了。

给定 \(n\) 个数 \(a_1 \sim a_n\),问有多少个区间 \([l, r]\) 满足 \(a_l \sim a_r\) 的任意两个非空子序列的 \(\text{lcm}\) 都不相同。

\(1 \le n \le 2 \times 10^5, 1 \le a_i \le 10^6\)

先来考虑一个区间有贡献的充要条件是啥?

有一个必要条件,对于每个 \(a_i\) 都有一个质因子 \(p\) 使得 \(p\) 的指数比其他所有数都要高。否则全集和去掉全集去掉 \(a_i\)\(\text{lcm}\) 是一样的。而且他也是一个充分条件,这样是否包含它的 \(\text{lcm}\)\(p\) 的指数不一样,\(\text{lcm}\) 也就不一样。

赛时想到这里,我想到的是对于每个 \(a_i\) 的质因子用单调栈找到一个合法区间 \([L_{i, p}, R_{i, p}]\),那么 \(L_{i, p} \le l \le r \le R_{i, p}\),对于每个 \(a_i\) 只需要满足其中一个即可。然后我就想从大到小枚举 \(l\),有些 \(L_{i, p} = l + 1\) 的区间就失效了,用线段树单调修改 \(a_i\) 最大的 \(R_i\),然后最后的 \(r \ge \min\limits_{i = 1}^ n\{ \max R_{i, p} \}\)

题解的做法是从小到大枚举 \(r\),若 \([l, r]\) 合法那么 \([l + 1, r], [l, r - 1]\) 也合法,因此对于每个 \(r\) 找到最小的 \(l\)。用双指针扫一遍,快速维护一个区间是否合法,可以维护每个质因子的最大指数及出现位置。

时间复杂度:\(O(n \log ^2 V)\)。实际上最多 \(O(6n \log V)\),每个数最多 \(6\) 个质因子。


赛时以为对于每个数求出每个 \(p\) 往左最多多少,往右多少,\(L_i = \min L_{i, p}, R_i = \max R_{i, p}\) 然后转化成一个经典模型。后面发现对于每个 \(p\) 有一个单独的区间。如果这么做那么 \(L_2 = 1, R_2 = 3\),实际上是两个个区间 \([1, 2]\)\([2, 3]\)

10 6 9
http://www.hskmm.com/?act=detail&tid=40700

相关文章:

  • 2025年10月垃圾分类房品牌订制厂家深度评测与推荐:揭秘顶级厂家的优势与选购技巧
  • 解析 主语 + 谓语 + 宾语 句型
  • 动手动脑和实验性问题总结
  • Salesforce从业者,下一个10年,你该怎么走?
  • 2025第二届模式识别与图像分析国际学术会议(PRIA 2025)
  • 备战2025执业兽医资格证培训机构:执业兽医考试网课培训机构/执业兽医考试面授优质培训机构推荐榜出炉,助力考生高效通关
  • 2025年锅炉厂家/工厂排名前十:江苏永润锅炉领跑行业
  • 2025年闭式冷却塔生产厂家权威推荐榜单:不锈钢冷却塔/循环水冷却塔/工业冷却塔源头厂家精选
  • 45岁helloworld!
  • ogg升级部署
  • uniapp开发app打包ios上传AppStore提示SDK版本不兼容
  • 2025年挖泥船生产商权威推荐榜单:清淤船/挖沙船/绞吸船源头厂家精选
  • 99%的企业都不知道GEO搜索优化怎么做,讯灵AI来解答
  • 开了 8 年母婴店,靠微擎守住了 20000 会员的信任,再也不怕数据泄露
  • 建筑全场景安全监测 “无死角”!思通数科 AI 卫士多模态大模型覆盖文明施工、基坑与消防
  • Halcon算法——Hough变换
  • SSD和HDD存储应该如何选择?
  • Awesome GitHub Copilot:超级定制化AI编程助手工具集
  • 跟着视频学,从0开始学PostgreSQL数据库
  • 10.29
  • Halcon算法——分裂合并法
  • 2025 年锰钢编织筛网厂家最新推荐榜,技术实力与市场口碑深度解析,筛选优质靠谱供应商振动/滚筒/平筛/黑钢锰钢编织筛网公司推荐
  • P7353 [2020-2021 集训队作业] Tom Jerry 题解
  • 痞子衡嵌入式:在i.MXRTxxx下使能DMA链式传输可达到SPI从设备接收速率上限50Mbps
  • 2025薪酬管理系统推荐:6大主流系统全面对比与选型指南
  • Solon (可替换 SpringBoot)集成 Docker 实战:30分钟搞定轻量级应用容器化部署
  • 我使用FHQ写了线段树2
  • 2025年国产角接触球轴承厂家推荐 一文了解轴承厂家选择标准
  • VK36N5D 工作电压 2.2-5.5V 触摸芯片抗干扰5键触摸触控 5路触摸检测IC
  • 魔兽争霸3冰封王座修改器 下载安装教程(图文步骤 + 功能详解)