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

[CF 516 E] Drazil and His Happy Friends

A 侧有 \(n\) 个点,B 侧有 \(m\) 个点,从 \(0\) 开始标号。已知初始有若干黑点,其它都是白点。第 \(i\)\(i \ge 0\))时刻,若 A 的第 \(i \bmod n\) 个点和 B 的第 \(i \bmod m\) 个点中存在一个黑色的点,则两个点都会被染成黑色。问经过多少天之后可以变成黑色。

下文认为 \(n, m\) 同阶,\(b, g\) 同阶。

不妨 \(n, m\) 互质,否则拆分成 \(\gcd(n, m)\) 组问题。

特判 A 和 B 都没有黑点的无解情况。

不妨先考虑 A 侧全部染色的时间,则 B 侧同理。

对于一个 A 侧的白点 \(t\),若它的黑色来自黑点 \(s\)(可以在 A 侧或 B 侧),需要找到最小非负整数 \(k\),满足 \(s + km \equiv t \pmod n\),则在第 \(s + km\) 时刻后被染色(在 A 侧待一轮不转移不优)。

考虑二分:判断 \(v\) 时刻后能否全部染色。

对于每个 \(s \le v\),求出满足 \(s + k m \le v\) 的最大整数 \(k = k_1\)。把 \(s\) 也表示成 \(s \equiv k_0 m \pmod n\),则 \(\forall k_0 \le K \le k_0 + k_1\)\(K m \bmod n\) 会被染色。

对于 A 侧的 \(s > v\),初始是黑色,可以认为它是一个 \(k_1 = 0\) 的段,只能覆盖 \(k_0\) 一个位置。

只需判断这些区间是否在 \(\bmod n\) 意义下覆盖了 \(0 \sim n - 1\) 的所有 \(K\),即可判断 A 侧是否全被染色。

直接对区间排序可以做到 \(O(b \log n \log b)\)。但是 \(k_0\) 是确定的,预先对 \(s\) 排序可以省掉一个 \(\log b\),优化到 \(O(b \log n)\)

http://www.gsyq.cn/news/26746.html

相关文章:

  • home-assistant.-Adding integrations
  • Windows系统内存占用过高,且任务管理器找不到对应进程
  • php如何生成6位不重复的字符串
  • Hetao P5593 删 题解 [ 蓝 ] [ 线性 DP ] [ DFS 序 ] [ 虚树 ]
  • Ancestral Problem 题解
  • 二叉树的中序遍历- 二叉树基本-递归 - MKT
  • 构建YouTube视频总结摘要智能体
  • 后量子密码学技术与标准化进程解析
  • JAVA基础理解
  • ICPC2022沈阳 游记(VP)
  • 大数据分析基础及应用案例:第四周学习报告——线性回归模型
  • 「LG7446-rfplca」题解
  • 手写体识别
  • 20231302邱之钊密码系统设计实验一第二
  • 你好,我是肆闲:C语言的学习,成长与分享旅程
  • ZR 2025 NOIP 二十连测 Day 6
  • 20251021
  • ORA-600 kokasgi1故障处理(sys被重命名)---惜分飞
  • 简单页面聊天
  • python 包来源镜像
  • CSharp基础复习-1
  • 米理 课程描述/学习计划/Study program
  • png隐写文件与文件占用
  • Windows和Linux设置Https(SSL)访问 - 详解
  • 完整教程:罗技G102有线鼠标自己维修教程
  • 挖矿-学校挖矿排查
  • Spring 统一机制处理 - 拦截器与适配器
  • 如何将海量纸质表格一键数字化?表格识别技术给出答案
  • 10.21 NOIP 模拟赛 T1. 小 h 学步
  • 实用指南:免费html网页模板 html5网站模板 静态网页模板