
线段树
文章平均质量分 80
zz_ylolita
这个作者很懒,什么都没留下…
展开
-
bzoj1798 AHOI2009seq
双标记线段树因为乘除有优先级关系,所以每访问到一个节点就把这个节点的标记往下传。pushdown中退出的条件是该点为叶子节点(p*2+1>tot)但是要注意tot的计算,是在build中节点编号最大的那个为tot(因此WA了好几次。。)program seq;type point=record l,r,sum,mul,add:int64;//tag end;原创 2015-05-14 19:44:07 · 1217 阅读 · 1 评论 -
uva11992区间修改线段树
数据范围很大,但是可以每行建一个线段树,化为线性的set的优先级高于addpushdown的时候相当于在add和sett中对一个整个的区间进行“赋值”一样,所以还要加上改sum,min1,max1的部分三个询问可以一起做。。。#include #include #include #include #include using namespace std;#define原创 2015-08-22 03:55:58 · 478 阅读 · 0 评论 -
poj1151矩形面积并
学习了一种新的离散化第一次写有关线段的线段树个人理解的扫描线:每添加一条边(或权值)就算当前这一部分的东西,然后再添加,一个循环#include #include #include #include #include using namespace std;#define MAXN 200int n,T,t;double x1,x2,y1,y2,ans;struct原创 2015-08-19 00:28:03 · 452 阅读 · 0 评论 -
poj3264
水一发线段树,顺便复习(骗经验)...宝宝还是想好好走下去^ ^#include #include #include #include using namespace std;#define N 50010int n,q,x,y,m1,m2;int a[N];struct node{ int l,r,m1,m2,num;}tr[N*4];void updata(in原创 2016-07-21 15:09:33 · 444 阅读 · 0 评论 -
hdu6430 Problem E. TeaTree 权值线段树 合并 暴力
新学到的权值线段树和它的合并,数组版的动态开点,以及如何估算线段树数组要开多大敲开心~应该还要学怎么分裂。。。关于权值线段树的讲解看这里:https://www.cnblogs.com/Mychael/p/8665589.htmlhttps://blog.youkuaiyun.com/Stupid_Turtle/article/details/80445998不过这题也可以直接bitset...原创 2018-08-30 00:26:39 · 371 阅读 · 0 评论 -
CF1114F. Please, another Queries on Array?
没有注意到所有的因子都是300以内,注意到了也想不到这样就可以用集合来表示质数是否出现,从而直接计算出欧拉函数。打标记的线段树在change的时候忘记pushdown了,调了一天orz#include <iostream>#include <cstdio>#include <string>#include &am原创 2019-02-12 23:43:57 · 362 阅读 · 0 评论