Kimi    LeetCode 3495. 使数组元素都变为零的最少操作次数 Rust实现 这是 LeetCode 3495 的 Rust 实现。题目理解- 每个查询 [l, r] 定义数组 nums [l, l1, ..., r]- 每次操作选两个数 a, b替换为 ⌊a/4⌋ 和 ⌊b/4⌋- 求将所有元素变为 0 的最少操作次数核心思路一个数 x 变为 0 需要的操作次数是满足 4^p x 的最小 p即 ⌊log₄x⌋ 1。对于区间 [l, r]- 设 s 为区间内所有元素各自所需操作次数之和- 设 mx 为区间内最大操作次数即 r 所需次数- 每次操作最多同时处理两个元素所以至少需要 ⌈s/2⌉ 次操作- 但某些元素如 r需要 mx 次操作才能归零所以答案为 max(⌈s/2⌉, mx)用前缀和优化定义 f(x) 为 [1, x] 所有元素操作次数之和则 s f(r) - f(l-1)mx f(r) - f(r-1)。Rust 代码rustimpl Solution {pub fn min_operations(queries: VecVeci32) - i64 {let mut ans: i64 0;for q in queries {let l q[0] as i64;let r q[1] as i64;let s Self::f(r) - Self::f(l - 1); // 区间总操作次数let mx Self::f(r) - Self::f(r - 1); // 最大元素的操作次数ans std::cmp::max((s 1) / 2, mx); // max(ceil(s/2), mx)}ans}fn f(x: i64) - i64 {if x 0 {return 0;}let mut res: i64 0;let mut p: i64 1; // 4的幂次let mut i: i64 1; // 当前区间需要的操作次数while p x {// 区间 [p, min(4p-1, x)] 内的数都需要 i 次操作let cnt std::cmp::min(p * 4 - 1, x) - p 1;res cnt * i;i 1;p * 4;}res}}复杂度分析- 时间复杂度O(q · log₄M)其中 q 为查询数M ≤ 10⁹- 空间复杂度O(1)关键说明f(x) 将 [1, x] 按 4 的幂次分段- [1, 3]需要 1 次操作4¹ x- [4, 15]需要 2 次操作4² x- [16, 63]需要 3 次操作4³ x- 以此类推...每段长度为 3·4^(i-1)段内每个数贡献 i 次操作。注意由于 p * 4 可能溢出 i64虽然本题 x ≤ 10⁹ 不会溢出在更严格的场景下可以使用 checked_mul 或 u128 中间计算。对于本题数据范围i64 足够安全。

相关新闻

最新新闻

基于Python与深度学习的滚动轴承智能故障诊断实战指南

基于Python与深度学习的滚动轴承智能故障诊断实战指南

简介:在工业预测性维护领域,从设备振动信号中自动识别故障是核心技术挑战。其原理在于,故障会引发特定的振动模式,传统方法依赖专家经验分析频谱图,效率低下且难以应对早期微弱故障。深度学习技术,特别是卷…

2026/8/27 11:58:08
SIFT算法GPU加速实战:从SiftGPU原理到部署优化

SIFT算法GPU加速实战:从SiftGPU原理到部署优化

简介:在计算机视觉领域,特征提取是图像匹配、三维重建等任务的基础。SIFT算法因其优异的尺度与旋转不变性成为经典,但其较高的计算复杂度制约了实时应用。GPU并行计算通过其众核架构,将算法中高度并行的部分(如尺度空间…

2026/8/27 11:58:08
Telit IoT创新大会前瞻:多模融合、边缘智能与海量数据成焦点

Telit IoT创新大会前瞻:多模融合、边缘智能与海量数据成焦点

前不久,Telit宣布要办IoT创新大会的消息刚放出来,我身边的同行就开始在群里讨论这件事。做物联网这行的人对Telit应该都不陌生:这家老牌厂商的蜂窝通信模组,常年出现在车载终端、工业设备、智能表计、资产追踪器这些看得见和看不见…

2026/8/27 11:58:08
Word页眉删不掉?深挖机制与批量清理方案彻底解决

Word页眉删不掉?深挖机制与批量清理方案彻底解决

页眉删不掉这个问题,几乎每个写过论文、标书、合同模板的人都遇到过。现象很统一:双击页眉,CtrlA,Delete,关闭编辑状态后回到正文,发现横线还在;翻到下一页,页眉又出现了&#xff1b…

2026/8/27 11:58:08
从字形到证据链:构建可回溯的甲骨文辅助释读系统

从字形到证据链:构建可回溯的甲骨文辅助释读系统

一张残缺的甲骨拓片摆在桌面,你盯着那些刻痕想找点规律。多数人的第一反应是“它像哪个汉字”,但研究甲骨文的专家不会这样工作。他们先看残断位置,再认偏旁部件,接着放到整条卜辞里看句法位置,最后还要翻字形谱系、找…

2026/8/27 11:58:08
ncmdump 三步把 NCM 转成 MP3,车载U盘直接播

ncmdump 三步把 NCM 转成 MP3,车载U盘直接播

ncmdump 三步把 NCM 转成 MP3,车载U盘直接播 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump ncmdump 是个小工具,专门把网易云的 NCM 转成 MP3。不用装环境、不用联网、不用付费,把一个文件拖上去…

2026/8/27 11:53:08