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

P14457 [ICPC 2025 Xian R] Killing Bits

先判掉 \(a=b\) 的情况,那么有充要条件(\(\otimes\) 表示按位与):

  1. \(\forall i,a_i\otimes b_i=b_i\)
  2. \(\exists p,p_i\otimes b_i=b_i\)

对于 \(1\) 条件的必要性显然,如果一个位置为 \(0\) 那么在只有按位与的情况下永远不可能变成 \(1\)。而对于条件 \(2\),如果不存在这样的一个排列 \(p\),那么对于所有的 \(p\) 至少存在一个位置 \(p_i\)\(0\)\(b_i\) 对应位置为 \(1\)
而对于充分性,我们考虑d对于目前已经合法的 \(p\),那么一定有 \(b_i\leq p_i\)。那么我们找目前的 \(a_i\neq b_i\),找到对应的 \(p_j=b_i\),将 \(p_j\)\(p_i\) 交换操作即可。发现 \(a_i\) 调整为 \(b_i\),而其它位置不变。是因为有 \(p_j\otimes b_j=b_j\),而 \(p_j=b_i,p_i\otimes b_i=b_i\)\(p_i\otimes p_j=p_j\),那么交换一定不会带来任何其它位置从 \(1\)\(0\) 的问题。

考虑网络流,连边 $\forall i\in [0,n),S\rightarrow i $,边权为 \(1\),后连边 $ b_i\rightarrow T$,边权为 \(1\)。那么我们的中间希望能够让每一个 \(b_i\) 都流向一个能够包含自己的 \(i\)。我们只需要对于每一个 \(i\) ,若 \(i\otimes 2^k=1\),则连边 \(i\rightarrow i-2^k\),边权为 \(+\infty\)

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

相关文章:

  • P13536 [IOI 2025] 神话三峰(triples)(Part 1)
  • 深入解析:HiTooler File Finder: macOS上速度碾压Spotlight,媲美「Everything」的文件搜索神器
  • 29232428 2025-2026-1 《网络与系统攻防技术》实验六
  • 【做题记录】HZOJ 多校-数论/多校-字符串/多校-图论Ⅲ
  • 2025-11-23
  • 2025软件工程L班
  • 使用Ansible批量安装JDK
  • static 静态变量
  • 2025-09-10-Wed-T-Milvus
  • 2025.11.23
  • java linux服务器
  • 贪心做题记录-2
  • 2025 年上海金蝶软件定制开发代理商推荐榜出炉
  • 【开发者导航】全自动 AI 视频创作与发布工具:LuoGen-agent - 教程
  • 截图工具
  • 人工智能之数据分析 numpy:第十二章 数据持久化
  • anchor
  • 2025 年上海最靠谱的金蝶代理商:聚焦官方授权与深度适配,这家最高级铂金伙伴值得选
  • 单克隆抗体在药物研发和治疗领域的应用前景
  • 2025 年上海金蝶软件代理商推荐榜:上海宝蝶信息科技有限公司全行业覆盖、金蝶最高级铂金伙伴
  • Jetson Orin Nano super -3 NVIDIA Jetson 平台的技术架构和NVIDIA JetPack
  • 学习DA
  • 候选区域
  • 数据结构理论知识 - 指南
  • 大盘风险控制策略分析报告 - 2025年11月21日
  • 前端八股文-高频面试题 - 教程
  • 2024软工K班结对编程任务
  • 实用指南:各种各样的Self-attention学习上(第二十周周报)
  • 20251123 之所思 - 人生如梦
  • 人工智能之数据分析 numpy:第十章 副本视图