数据结构 -- 线段树
Object_S
Java C++
展开
-
[JLOI2014]松鼠的新家
题目地址易错点:需要使用栈模拟递归 不开O2无法通过// luogu-judger-enable-o2#include<cstdio>#include<iostream>#include<stack>using namespace std;const int MAXN=1000010,MAXM=1000010;struct Node...原创 2019-07-13 00:05:11 · 89 阅读 · 0 评论 -
[NOI2015]软件包管理器
题目地址注意点:动态开点线段树如果写区间覆盖问题一定要保证子结点存在. 数据点里结点从0开始编号,平移加一即可. 区间覆盖线段树需要写pushdown和pushup,query和insert也有一定的改动,但整体上难度降低.#include<cstdio>#include<iostream>#include<cmath>#include...原创 2019-07-12 12:35:00 · 105 阅读 · 0 评论 -
AW246 区间最大公约数
题目地址易错点:线段树查询时直接保留查询范围即可. 线段树递归结束后,返回gcd结果时应取绝对值. 本题线段树初始化时需要使用差分数组(更相减损术);同样地,在进行区间修改时[l~r]的修改会影响到线段树内[l~r+1]的值.#include<cstdio>#include<iostream>#include<cstring>#incl...原创 2019-09-25 00:22:56 · 364 阅读 · 0 评论 -
P1083 借教室
题目地址注意点:需要一开始build一次才能保证minn的正确性.#include<cstdio>#include<iostream>using namespace std;const int MAXN=2e6,INF=2e9,root=1;struct Node{ int l,r; int minn=INF,lazy;}tr[4*MAXN...原创 2019-10-09 20:55:29 · 149 阅读 · 0 评论