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

贪心(2)——按位异或

题面:
给定一个长度为\(n\)的序列\(a_1\) \(a_2\)...\(a_n\)请将它划分为\(m\)段,设第\(i\)段的费用\(c_i\)为该段内所有数字的异或和,则总费用为\(c_1orc_2or...c_m\).请求出总费用的最小值

1.首先证明贪心的正确性

总费用为所有段费用或的和,根据或运算有1就为1的特性,我们必须确保\(c_1\) \(c_2\) ... \(c_m\)之中在某一位全部是0才能保证答案的这一位也是0。那么我们就可以贪心去判断每一位,从高到低,判断其是否可为0。高位为0一定比1更加优。那么我们很容易就写出来一个主函数的框架——

for(int i=60; i>=0; --i) {ll bit=(1LL<<i);ll try_0=(ans|(bit-1));if(check(try_0)) {continue;} else {ans|=bit;}
}

在当前答案ans的基础上,尝试让答案的第\(i\)位变成0,如果可行那么答案第\(i\)位保留为0,否则变成1。那么最苦难的部分来了————如何设置\(check\)函数呢?

2.Check函数的构造。

假设我们已经得到一个答案,现在要来检验它是否合法,能不能符合题意————分成\(m\)段。而且所有段必须连续,这让我们的算法更加容易实现,从前往后遍历,用一个\(axor\)变量来存储当前这一段的异或和。
要怎样才能终止这一段呢?当我们发现当前的异或和中的每一个1都已经和目标答案中1的位置相同了,那么这个异或和在最终贡献答案的时候一定符合,就可终止。怎么判断呢?假设目标答案按是\(x\)那么if((axor&x)==axor)就可以。\(&\)运算的特性==只有两个数同样为1的时候结果才是1.如果每一位只要目标答案有1而且结果也有1,那么这个异或和一定和目标答案的1是对齐的。
由此

bool check(ll x) {ll axor=0;int cnt=0;for(int k=1; k<=n; ++k) {axor^=a[k];if((axor&x)==axor) {++cnt;axor=0;}}return cnt>=m&&axor==0;
}
http://www.zskr.cn/news/41979.html

相关文章:

  • 2025年基因导入仪制造厂技术实力排名白皮书,基因导入仪厂家推荐
  • 统一Git提交信息
  • 小鹏 IRON 机器人因 “太像人” 遭质疑?
  • Rockyos10 网卡配置固定IP
  • 从上位机到边缘计算:Linux 正在统治整个工业世界
  • 2025 年 11 月复合管不锈钢护栏,绳索不锈钢护栏,防撞立柱不锈钢护栏厂家最新推荐,实力品牌深度解析采购无忧之选!
  • 一个watch让页面卡成PPT?
  • 客户案例|思念食品x燕千云AI-ITR,构建智能协同的客户服务流体系
  • 2025 年 11 月热泵刮板蒸发器,多效蒸发器,蒸汽刮板蒸发器厂家最新推荐,聚焦资质、案例、售后的五家机构深度解读!
  • 导致Resources文件夹的资源在Android打包后丢失的原因
  • 2025年江苏医疗器械CE认证服务商权威推荐:江苏电子产品CE认证/江苏电器CE认证/江苏灯具CE认证服务机构精选
  • 银行转账惊魂记:MySQL事务与隔离级别的奇幻冒险 - 详解
  • 量化选股与量化交易第857篇:通达信金妖舞龙 - Leone
  • docker容器oshi如何获取宿主机的运行状态信息?
  • 2025年艾草贴厂家权威推荐榜单:老北京足贴/蒸汽眼罩/泡澡液源头生产厂家精选
  • 封装新纪元
  • 微算法科技(NASDAQ MLGO)采用动态层次管理和位置聚类技术,修改pBFT算法以提高私有区块链网络运行效率
  • 2025年透明吹塑HDPE防撞桶改性再生颗粒生产厂家权威推荐:环保连卷袋吹膜级透明HDPE颗粒/挤塑透明HDPE再生颗粒/透明吹塑HDPE水箱改性再生颗粒源头生产商精选
  • 2025年石膏基自流平生产商权威推荐:水泥自流平砂浆/石膏自流平砂浆/地面找平自流平源头厂家精选
  • 深入解析:webSocket快速入门
  • 11.6 考试总结
  • 水仙数练习循坏
  • 2025年紫檀手串性价比排名榜,紫檀手串哪家好
  • 20251105周三日记
  • 完整教程:基于 PyQt5 实现刀具类型选择界面的设计与交互逻辑
  • 2025年山东地区信誉好的UG编程培训企业推荐:UG编程培训品牌公司全解析
  • 2025中国氨基酸表面活性剂企业排行榜:长沙普济生物科技靠不靠谱?
  • leetcode热题100-283:移动零
  • 第二十章:遍历万象,执行随心——Visitor的访问艺术
  • SpringMVC多环境配置的一种方案