力扣2382. 删除操作后的最大子段和

力扣2382. 删除操作后的最大子段和

题目

题目解析及思路

题目要求找到每次删除一个元素的最大字段和

因为删除不好做,可以转删除为添加,用并查集维护当前子段和

两部分合并(两个并查集),三部分求和(两个并查集和一个元素)

代码

cpp 复制代码
class Solution {
public:
    vector<long long> maximumSegmentSum(vector<int>& nums, vector<int>& removeQueries) {
        int n = nums.size();
        //把数组看做一条链,最右边n的位置有一个虚拟头节点
        int p[n+1];
        iota(p,p+n+1,0);
        long long sum[n+1];
        memset(sum, 0, sizeof(sum));
        vector<long long> ans(n);
        function<int(int)> find = [&](int x) -> int { 
            return p[x] == x ? x : p[x] = find(p[x]); 
        };

        //反向操作
        for(int i=n-1;i>0;i--){
            int x = removeQueries[i];
            int fa = find(x+1);
            p[x] = fa;
            sum[fa] += sum[x] + nums[x];
            ans[i-1] = max(ans[i],sum[fa]);
        }
        return ans;
    }
};
相关推荐
颜酱4 小时前
从0到1实现LFU缓存:思路拆解+代码落地
javascript·后端·算法
颜酱5 小时前
从0到1实现LRU缓存:思路拆解+代码落地
javascript·后端·算法
CoovallyAIHub1 天前
Moonshine:比 Whisper 快 100 倍的端侧语音识别神器,Star 6.6K!
深度学习·算法·计算机视觉
CoovallyAIHub1 天前
速度暴涨10倍、成本暴降6倍!Mercury 2用扩散取代自回归,重新定义LLM推理速度
深度学习·算法·计算机视觉
CoovallyAIHub1 天前
实时视觉AI智能体框架来了!Vision Agents 狂揽7K Star,延迟低至30ms,YOLO+Gemini实时联动!
算法·架构·github
CoovallyAIHub1 天前
开源:YOLO最强对手?D-FINE目标检测与实例分割框架深度解析
人工智能·算法·github
CoovallyAIHub1 天前
OpenClaw:从“19万星标”到“行业封杀”,这只“赛博龙虾”究竟触动了谁的神经?
算法·架构·github
刀法如飞1 天前
程序员必须知道的核心算法思想
算法·编程开发·算法思想
徐小夕1 天前
pxcharts Ultra V2.3更新:多维表一键导出 PDF,渲染兼容性拉满!
vue.js·算法·github