【信息学奥赛|数据结构模板】线段树
下面是我的线段树模板,第一篇为纯加法,第二篇为加乘结合。#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 yyds。多谢分享 感谢发布原创作品,程序园因你更精彩 分享、互助 让互联网精神温暖你我 过来提前占个楼 感谢分享 这个好,看起来很实用 这个好,看起来很实用 懂技术并乐意极积无私分享的人越来越少。珍惜 感谢,下载保存了 过来提前占个楼 这个有用。 感谢分享,下载保存了,貌似很强大 这个有用。 新版吗?好像是停更了吧。 谢谢分享,试用一下 感谢分享 感谢分享,下载保存了,貌似很强大 前排留名,哈哈哈 很好很强大我过来先占个楼 待编辑
页:
[1]