news 2026/6/10 2:13:37

树状数组

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
树状数组

lc2659

树状数组统计已删除元素,按数值升序遍历元素位置

分前后段计算每次删除的移动步数并累加,求解清空数组的总操作数。

// 树状数组模板
class BIT {
vector<int> tree;
public:
BIT(int n) : tree(n) {}

// 将下标 i 上的数加一
void inc(int i) {
while (i < tree.size()) {
++tree[i];
i += i & -i;
}
}

// 返回闭区间 [1, i] 的元素和
int sum(int x) {
int res = 0;
while (x > 0) {
res += tree[x];
x &= x - 1;
}
return res;
}

// 返回闭区间 [left, right] 的元素和
int query(int left, int right) {
return sum(right) - sum(left - 1);
}
};

class Solution {
public:
long long countOperationsToEmptyArray(vector<int> &nums) {
int n = nums.size(), id[n];
iota(id, id + n, 0);
sort(id, id + n, [&](int i, int j) {
return nums[i] < nums[j];
});

long long ans = n; // 先把 n 计入答案
BIT t(n + 1); // 下标从 1 开始
int pre = 1; // 上一个最小值的位置,初始为 1
for (int k = 0; k < n; ++k) {
int i = id[k] + 1; // 下标从 1 开始
if (i >= pre) // 从 pre 移动到 i,跳过已经删除的数
ans += i - pre - t.query(pre, i);
else // 从 pre 移动到 n,再从 1 移动到 i,跳过已经删除的数
ans += n - pre + i - k + t.query(i, pre - 1);
t.inc(i); // 删除 i
pre = i;
}
return ans;
}
};

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/4 19:41:15

华为MetaERP的成本优势主要体现在大幅削减直接费用、通过技术架构提升运营效率、以及规避长期风险与获取政策红利三大方面。这使其成为替代传统ERP(如Oracle、SAP)时,具备显著经济性的选择

华为MetaERP的成本优势主要体现在大幅削减直接费用、通过技术架构提升运营效率、以及规避长期风险与获取政策红利三大方面。这使其成为替代传统ERP&#xff08;如Oracle、SAP&#xff09;时&#xff0c;具备显著经济性的选择。下表直观对比了其主要成本优势点&#xff1a;优势维…

作者头像 李华
网站建设 2026/6/4 17:46:10

阿里拟析平头哥以赴市:论芯片分拆之战略深意

岁在丙午&#xff0c;正月廿二日&#xff0c;有西媒彭博传讯&#xff1a;阿里巴巴集团谋析其芯片子公司“平头哥”&#xff08;T-Head&#xff09;为独立之体&#xff0c;拟推之上市。闻者哗然&#xff0c;美股盘前应声而起&#xff0c;涨幅逾四。此非寻常之举&#xff0c;实乃…

作者头像 李华
网站建设 2026/6/5 21:58:29

科研AI模型复现难到崩溃?5个关键注意事项,一次复现成功!

点赞、关注、收藏。不迷路 做AI科研的兄弟姐妹们&#xff0c;谁没被模型复现折磨过&#xff1f; 照着顶刊论文逐行敲代码&#xff0c;却死活跑不出相同结果&#xff1b;作者给的参数模糊不清&#xff0c;调了几十组还是差好几个百分点精度&#xff1b;环境配置踩坑无数&#x…

作者头像 李华
网站建设 2026/6/9 23:39:55

ant -vue a-table去掉表头

<template><a-table:columns"columns":data-source"data":show-header"false" <!-- 核心属性&#xff1a;隐藏表头 -->bordered <!-- 可选&#xff1a;显示边框&#xff0c;方便查看表格结构 -->/> </template>…

作者头像 李华