尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

简单线段树

简单线段树
📅 发布时间:2026/6/22 10:19:39
#include <bits/stdc++.h>
using namespace std;
using ull = unsigned long long;
using ll  = long long;
const int N = 50010;
int T;
struct node {int l, r;ll sum, add;
} tr[N * 4];
ll a[N];
inline int ls(int p) {return p << 1;}
inline int rs(int p) {return p << 1 | 1;}
void pushup(int u) {tr[u].sum = tr[ls(u)].sum + tr[rs(u)].sum;
}
void pushdown(int u) {auto &left = tr[ls(u)], &right = tr[rs(u)], &root = tr[u];if (root.add) {left.add += root.add; left.sum += (ll)(left.r - left.l + 1) * root.add;right.add += root.add; right.sum += (ll)(right.r - right.l + 1) * root.add;root.add = 0;}
}void build(int u, int l, int r) {if (l == r) tr[u] = {l, r, a[l], 0}; //(ll)?else {tr[u] = {l, r};int mid = l + r >> 1;build(ls(u), l, mid);build(rs(u), mid + 1, r);pushup(u);}
}void modi(int u, int l, int r, int v) {if (l <= tr[u].l && r >= tr[u].r) {tr[u].sum += (ll)(tr[u].r - tr[u].l + 1) * v;tr[u].add += v;} else {pushdown(u);int mid = tr[u].l + tr[u].r >> 1;if (l <= mid) modi(ls(u), l, r, v);if (r > mid) modi(rs(u), l, r, v);pushup(u);}
}ll query(int u, int l, int r) {if (l <= tr[u].l && r >= tr[u].r) return tr[u].sum;pushdown(u);ll v = 0;int mid = tr[u].l + tr[u].r >> 1;if (l <= mid) v = query(ls(u), l, r);if (r > mid) v += query(rs(u), l, r);return v;
}
int main() {ios::sync_with_stdio(0);cin.tie(0); cout.tie(0);cin >> T;for (int cs = 1; cs <= T; cs ++) {memset(a, 0, sizeof(a));memset(tr, 0, sizeof(tr));int n;cin >> n;for (int i = 1; i <= n; i ++) cin >> a[i];build(1, 1, n);string op;cout << "Case " << cs << ":\n";while (cin >> op && op != "End") {if (op == "Add"){ll x, y;cin >> x >> y;modi(1, x, x, y);} else if (op == "Sub") {ll x, y;cin >> x >> y;modi(1, x, x, -y);} else if (op == "Query") {int x, y;cin >> x >> y;cout << query(1, x, y) << '\n';}} }return 0;
}

相关新闻

  • Oracle AWR 报告指标全解析:深入理解数据库性能优化的关键
  • 一个白噪声+滤波器demo
  • 关于taichislam生成拓扑图过于密集

最新新闻

  • 基于谱图理论的LEO星座星间链路拓扑优化:以代数连通度最大化降低网络直径
  • 【毕业设计】基于 Python Web 的智能自习室人脸核验预约系统设计与实现 智能化自习室座位管理平台(源码+文档+远程调试,全bao定制等)
  • Linux sch_fq公平队列FQ流分类与credit机制
  • 2026年软文推广平台实力排行榜:8大平台深度测评与效果对比 - GEORANK
  • 天津遗产纠纷律师联系方式推荐 深耕本地司法实践专业能力扎实 - 外贸老黄
  • 数字电路模拟程序总结性博客

日新闻

  • Arduino-ESP32项目深度解析:解锁隐藏芯片支持与架构演进
  • 2026年 系统窗厂家/品牌推荐榜单:隔音系统窗+高端系统门窗的核心优势与选购指南 - 品牌发掘
  • NVBench:首个双语非言语发声语音合成评测基准详解与实践

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号