毋峻舷 发表于 2025-6-4 08:35:10

【信息学奥赛|数据结构模板】线段树

下面是我的线段树模板,第一篇为纯加法,第二篇为加乘结合。
#include #define MAXN 100010using namespace std;namespace segmentTreeWithoutEternalizing{#define lSon(p) pr || segTree.rgt < l)      return; // exit because of not inside of the segment    if (segTree.lft >= l && segTree.rgtr || segTree.rgt < l)      return 0; // exit because of not inside of the segment    if (segTree.lft >= l && segTree.rgtq >> m;      vector arr(n);    for (int i = 0; i < n; ++i) {      cin >> arr;    }    SegmentTree segTree(n, m);    // Initialize the segment tree    for (int i = 0; i < n; ++i) {      segTree.updateRange(i, i, 1, arr);    }    while (q--) {      int type;      cin >> type;      int x, y;      long long k;      if (type == 1) {            cin >> x >> y >> k;            segTree.updateRange(x - 1, y - 1, k, 0);      } else if (type == 2) {            cin >> x >> y >> k;            segTree.updateRange(x - 1, y - 1, 1, k);      } else if (type == 3) {            cin >> x >> y;            cout

桂册 发表于 2025-11-3 12:45:16

yyds。多谢分享

思矿戳 发表于 2025-12-21 16:09:57

感谢发布原创作品,程序园因你更精彩

厥轧匠 发表于 2025-12-26 16:24:43

分享、互助 让互联网精神温暖你我

季卓然 发表于 2026-1-9 07:34:29

过来提前占个楼

赐度虻 发表于 2026-1-13 18:36:28

感谢分享

溧久苟 发表于 2026-1-14 22:19:46

这个好,看起来很实用

辉伫 发表于 2026-1-15 08:01:47

这个好,看起来很实用

馑妣窟 发表于 2026-1-17 23:39:29

懂技术并乐意极积无私分享的人越来越少。珍惜

科元料 发表于 2026-1-21 03:53:06

感谢,下载保存了

管水芸 发表于 2026-1-24 10:10:32

过来提前占个楼

赖秀竹 发表于 2026-2-5 06:05:20

这个有用。

院儿饯 发表于 2026-2-5 08:41:39

感谢分享,下载保存了,貌似很强大

狙兕 发表于 2026-2-7 10:20:39

这个有用。

莘度 发表于 2026-2-8 04:49:41

新版吗?好像是停更了吧。

闻成 发表于 2026-2-8 11:03:22

谢谢分享,试用一下

歇凛尾 发表于 2026-2-10 01:00:22

感谢分享

铝缉惹 发表于 2026-2-10 17:32:46

感谢分享,下载保存了,貌似很强大

跑两獗 发表于 2026-2-11 04:29:16

前排留名,哈哈哈

蜴间囝 发表于 2026-2-12 03:50:29

很好很强大我过来先占个楼 待编辑
页: [1]
查看完整版本: 【信息学奥赛|数据结构模板】线段树