当前位置: 首页 > 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.jsqmd.com/news/48656/

相关文章:

  • EPS操作基础:无人机地形测量
  • [清华集训 2014] Sum
  • 深入解析:HiTooler File Finder: macOS上速度碾压Spotlight,媲美「Everything」的文件搜索神器
  • P13552 鱼类考古学
  • P14134 【MX-X22-T5】「TPOI-4E」Get MiN? Get MeX!
  • 20231427田泽航ipsec协议验证
  • 29232428 2025-2026-1 《网络与系统攻防技术》实验六
  • 《道德经》第三十八章 - 教程
  • 2025年必收藏的8款AI论文写作神器!助你高效搞定学术写作
  • bfs dfs板子默写 真的好怕像上次一样这种题AC不了啊
  • 贪心题目
  • 【做题记录】HZOJ 多校-数论/多校-字符串/多校-图论Ⅲ
  • 2025软件工程L班
  • 2025-11-23
  • Chainlit+LlamaIndex 多模态 RAG 开发实战7:从系统架构到功能落地,搞定 PDF/PPT/ 图片全类型文件处理 - 详解
  • 使用Ansible批量安装JDK
  • 使用OpenZeppelin编写可升级智能合约(代理) - all-in
  • 实用指南:【逻辑回归】从线性模型到逻辑回归
  • vuepress2.x支持vue2吗?
  • 贪心专题 1 做题记录
  • static 静态变量
  • 【IO多路转接】IO 多路复用之 select:从接口解析到服务器实战 - 详解
  • java sql注入的危害有哪些
  • 单片机控制继电器及其原理
  • 2025-09-10-Wed-T-Milvus
  • 【Linux】 层层递进,抽丝剥茧:调度队列、命令行参数、环境变量 - 指南
  • 字符串大小写转换
  • vitepress如何支持vue2组件
  • 2025.11.23
  • 20231427田泽航第十周预习报告