
线段树
线段树
Albert.Jw
加油!!!
展开
-
线段树
应用中,线段树是一个工具一个能快速完成查询,修改,的工具!你的任务(题目描述)就是线段树上的权值处理任务的方法就是线段树修改的方法原创 2020-07-16 20:39:23 · 136 阅读 · 0 评论 -
实用技巧——数状数组
1.划分区间区间结尾是R,区间长度等于R的 二进制分解 下最小的2的次幂,即lowbit®7->[7,7],[6,5],[4,1](分的过程就是求出7->6->4->0)lowbit实现while(x>0){ cout<<x-(x&(-x))+1<<" "<<x<<endl; x-=x&(-x);}...原创 2020-07-22 22:33:51 · 643 阅读 · 0 评论 -
扫描线
差分的过程,维护最值扫描线法:1.将图形分块2.用一条竖直直线扫过坐标系,则直线上被图形覆盖的长度只会在矩形边界处发生变化实现:1.输入,并排序(决定扫的顺序)2.处理(例如将矩形的左边上点的值作为+右边上点的值作为-),然后开始扫3.查询最值——线段树维护写法:离散化(坐标范围较大且不一定是整数)https://www.luogu.com.cn/problem/P5490权值线段树:一般使用结构体在线段树上赋值(建个线段树,把权值(坐标…)插到点上)时间戳cnt:1.表示次数原创 2020-07-15 22:21:41 · 354 阅读 · 0 评论