首页 > 【模板】线段树1
头像 kkkyd
发表于 2024-11-21 20:42:53
#include<bits/stdc++.h> using namespace std; using ll=long long; //线段树 struct D { int l; int r; ll sum; }; int main() { int n, q 展开全文
头像 Mag1c0nch
发表于 2024-11-21 17:07:12
板子题 #include <bits/stdc++.h> using namespace std; #define int long long const int N = 1e5 + 5; int __t = 1, n, q; int a[N], bit[N]; void update( 展开全文
头像 好喜歡妳怎麼辦
发表于 2024-11-23 22:51:56
#include <bits/stdc++.h> const int N = 5e5 + 10; const int inf = 0x3f3f3f3f; using namespace std; using ull = unsigned long long int; using ll = 展开全文
头像 Kato_Shoko
发表于 2024-11-21 18:49:39
#include <iostream> #include <queue> #include <map> #include <set> #include <cmath> #include <cstring> #include &l 展开全文
头像 阿里嘎多懒羊羊桑_
发表于 2024-11-22 10:10:56
题意给出长度为1e5的数组和1e5次操作,每次操作可能为单点修改,也可能为区间查询思路数据范围是1e5,考虑用数据结构维护,树状数组或线段树都可以 树状数组是一种支持单点修改和区间查询的代码量小的数据结构,维护的信息和运算必须要满足结合律而且可差分,比如加法、乘法、异或等。结合律:(x # y )# 展开全文
头像 Feijoa_Li
发表于 2024-11-22 16:05:18
#include "bits/stdc++.h" using namespace std; #define int long long vector<int> tr, lz, a; #define ls (now<<1) #define rs (now& 展开全文
头像 君鸿
发表于 2024-12-17 14:23:00
虽然题目标题写的线段树,但实际上更适合用树状数组求解。先上传一下代码,后续再试试线段树。链接 - 树状数组详解 #include <iostream> #include <vector> using namespace std; int n; vector<long 展开全文
头像 宿伞之神
发表于 2024-11-21 17:17:59
树状数组模板。 #include<bits/stdc++.h> #define int long long #define double long double #define x first #define y second using namespace std; typedef l 展开全文
头像 开箱即用的贪吃蛇
发表于 2024-11-27 17:37:09
N = 100100 tr = [0] * N def lowbit(x): # x&-x可以取到最右边的1 return x&-x # 添加固定写法 def add(now, val): i = now while(i<N): 展开全文
头像 来泡池子了的西红柿很奔放
发表于 2024-11-27 19:06:38
#include <stdio.h> #include <stdlib.h> #define MAX_N 100005 // 线段树节点结构体 typedef struct TreeNode { int left; int right; long 展开全文

等你来战

查看全部