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

P13552 鱼类考古学

感觉上先做与运算肯定不优,尝试证明。\(a\otimes b=a+b-(a|b)\),故 \((a\otimes b)+c=a+b-(a|b)+c\geq (a+b)\otimes c=a+b+c-((a+b)|c)\)。这是因为 \(a|b\leq \max(a,b)\)。那么我们现在就是要将整个序列分成 \(k\) 个非空集合,对其内部与之后外部加和。即 \(\sum_{i=1}^{k}\otimes(S_i)=\sum a_i+M\),其中 \(M\) 指的是所有操作的或之和。之后我们发现,优先对高位为 \(0\) 的数进行或一定是优的,只有不够了才不得已对为 \(1\) 的情况进行或。

那么我们考虑字典树,\(f(u,k,m)\) 表示目前考虑到了节点 \(u\),还需要进行 \(k\) 次与操作,目前的值为 \(m\)。那么如果 \(u\) 是一个叶子节点,那么对答案的贡献显然就是 \((s_u-k)m\),也就是说我们只能无奈合并相同的元素 \(k\) 次,之后得到结果。其中 \(s_u\) 表示 \(u\)子树和。之后我们考虑 \(u_0\),如果 \(s_{u_0}>k\),就代表它们能够和 \(k\) 次还有冗余,它们就不会“污染”另一侧为 \(1\) 的值。所以直接往下遍历即可。又根据上面的公式,左子树可以直接被加和,故答案再加上左子树的和。否则我们只能先把它们都与成一个再去“污染”另一侧。因为如果我们不弄成一个的话就说明需要有更多的 \(0\) 去与 \(1\) 相结合。但是将按位与挂在另一侧下面不太好做,我们不仿直接插入到另一侧之中,这样就不会有这个问题了。

http://icebutterfly214.com/news/61060/

相关文章:

  • 2025-11-23
  • 2025-09-10-Wed-T-Milvus
  • 2025.11.23
  • java linux环境变量
  • 贪心做题记录-2
  • 截图工具
  • linux 下定义常用路径环境变量
  • 2025年11月广东青少年素质拓展训练学校五大推荐口碑榜:规范养习惯,护航成长之路
  • 大盘风险控制策略分析报告 - 2025年11月21日
  • AI赋予NPC记忆能力的双重影响
  • 2025西北地区地埋式污水处理设备厂家最新top5推荐,宁夏、新疆、甘肃、陕西四省,污水处理设备品牌选型指南
  • 实用指南:各种各样的Self-attention学习上(第二十周周报)
  • the success of Japan
  • 人工智能之数据分析 numpy:第九章 数组运算
  • 20232411 2024-2025-1 《网络与系统攻防技术》实验六实验报告
  • 2025/11/23
  • # 二分图最大匹配
  • 1088. Rational Arithmetic (20)
  • 解码网络编程基础
  • 1067. Sort with Swap(0) (25)
  • 1066. Root of AVL Tree (25)
  • 1029. Median (25)
  • 2025年11月中医特色专科权威推荐榜:小儿推拿/减肥减重/玛仕度肽/小儿包皮切除/人流/流感疫苗/输尿管结石/肾结石/流感诊疗服务深度解析
  • 毕业论文神器!9款免费AI工具推荐,轻松搞定论文写作
  • 实验3_CPP
  • Java 学习路线可按「基础→进阶→实战→架构」四阶段推进
  • 从上下文工程到组织知识管理重构——HRBP在人机协同时代的新使命 - 教程
  • 第七讲上自监督学习self-supervised learning-BERT
  • 2025年11月上海专业防水补漏推荐!Top5口碑公司实测,先检测后施工有保障
  • LeetCode 面试经典 150_链表_反转链表 II(60_92_C++_中等)(头插法) - 教程