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

CF2103F Maximize Nor

题解

首先观察这个 nor 操作的答案是什么?

按位处理,假设 r r r 前的最后一个 1 1 1 位置为 x x x

  • x ≥ l x\geq l xl ,那么当 x , r x,r x,r 的奇偶性相同时答案为 1 1 1 ,否则为 0 .

  • x < l x<l x<l,那么当 l , r l,r l,r 的奇偶性不同时答案为 1 ,否则为 0 .

考虑 l = r or  r − 1 l=r \text{ or } r-1 l=r or r1 ,一直向前跳相同奇偶性的位置,发现答案只会至多改变一次,也就是对于右端点 r r r 固定来说,不同的区间 n o r nor nor 实际上只有 4 k 4k 4k 种。

将奇偶位置拆分,可以通过对于差分和关键点排序的方法来求出对于右端点 r r r 的每个左端点区间的答案。即维护了很多四元组 ( 0 / 1 , p r , i , r , v ) (0/1,p_{r,i},r,v) (0/1,pr,i,r,v) 0 / 1 0/1 0/1 代表奇偶性, p r , i p_{r,i} pr,i 表示 r r r 的相同nor值第 i i i 个左端点区间的右端点, v v v 表示值。

接着,从小到大枚举 i i i 计算答案,对于每个 r r r 维护 奇/偶 两个指针表示当前的 i i i 在哪一个左端点区间,再对奇偶位置分别维护线段树,假如进入了新的区间且值增大了,那么就修改对应奇偶线段树的第 r r r 个位置的值,查询相当于后缀 max ⁡ \max max

时间复杂度 O ( n k ( log ⁡ n + log ⁡ k ) ) O(nk(\log n+\log k)) O(nk(logn+logk))

http://www.xdnf.cn/news/107821.html

相关文章:

  • 车载信息安全架构 --- 汽车网络安全
  • 在面试中被问到spring是什么?
  • 分糖果——牛客
  • 0基础可以考MySQL OCP么?备考时间需要多久?
  • java Nacos
  • Java基础系列-HashMap源码解析1-BST树
  • 深入剖析PHP反弹Shell:OSCP场景下的实现、原理与优化
  • 深入理解IP地址、端口号、字节序及其应用
  • 困局与破局:当传统校园能源管理遭遇“散沙式“能耗困局
  • Python图形界面编程(一)
  • HTML表格居中显示、在表格中插入音频文件、表格分行列显示
  • SpringBoot入门实战(第七篇:项目接口-商品管理)
  • 考研单词笔记 2025.04.23
  • es的range失效
  • 如何在Spring Boot中实现热加载以避免重启服务器
  • 数据治理体系的“三驾马车”:质量、安全与价值挖掘
  • 武汉昊衡科技OLI光纤微裂纹检测仪:高密度光器件的精准守护者
  • JavaWeb学习打卡-Day2-Mysql索引、事务
  • 浅试MCP:spring ai使用mcp调用deepseek的API接口
  • IDEA中Quarkus框架(3.13版本)容器编排、压测与调优、注意事项等
  • element-ui transfer 组件源码分享
  • 永磁同步电机控制算法--零d轴电流IF控制
  • 幂等性设计保障系统可靠性和数据一致性
  • 顺序表专题
  • 结合地理数据处理
  • 数据流量采集系统的实现
  • 为什么Spring中@Bean注解默认创建单例Bean
  • TORL:解锁大模型推理新境界,强化学习与工具融合的创新变革
  • 将 MySQL 8 主从复制延迟优化到极致
  • cgdb的基础使用教程