线段树
牛郎恋刘娘,刘娘念牛郎
裂开来
展开
-
[TJOI2018]数学计算(线段树)
乍一看 普通的模拟不行吗 仔细一想就算是你把每次操作计算出来,每次除去找数,然后除掉,那样就只能最 后取mod,或其他方法,不取模你会炸longlonglonglong。 引用线段树维护 建立时间轴 子线段存储乘数 如有改变 update更新即可 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn=4e5+100; inline int read() {char ch = ge..原创 2021-09-21 12:00:48 · 96 阅读 · 0 评论 -
2021ICPC网络赛A
k个通道 编号为i-1 n此操作 每一次操作优先选择i-1通道 否责(i+1)%k — (i+x)%k 找到为止 没有合适的continue; 我们需要找到完成任务最多的通道 线段树维护区间最小时间通道 set维护最小时间 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn=1e6+100; inline int read() {char ch = getchar(); int x原创 2021-09-21 01:06:46 · 379 阅读 · 0 评论 -
线段树 区间操作区间查询
目前理解到的线段是 直看图像 一条线段分成n个小线段 层层分开 一个父亲线段 有两个子线段 子线段的和等于父亲线段 每一个线段都有一个边界 这是以后处理线段树的关键 区间加法 区间查询 如果要进行[l,r]区间的加法操作 区间查询 1.差分树状数组可以 2.不知道 我们上边说 每个线段都有一个左右边界 l,r 父节点和子节点的关系式 i2,i2+1 这是建树的关系 每个线段都是一个结构体 结构体里面包含 struct node{ ll l,r,sum; //左边界 右边界 线.原创 2021-09-20 20:11:45 · 251 阅读 · 3 评论