
线段树
文章平均质量分 83
liusu201601
这个作者很懒,什么都没留下…
展开
-
bzoj1012: [JSOI2008]最大数maxnumber(线段树+假装增点)
题目传送门 这道题比裸的线段树难一丁点,注意题目:假装(连题目都要当戏精)题目大意: 1、给一棵空树:两个操作 2、A操作,在树的末尾(ed)增加一个点(值从上一次查询得来)3、Q操作,求 (ed-L+1~ed)这个区间的max4、值要用 龙龙(long long)解题思路: 1、题目很友(yin)善(hui)地说:操作数量不超过 20W,而且插入操作:每次只插入一个点。 说人话:这棵树最多只管理...原创 2018-02-09 00:16:26 · 227 阅读 · 0 评论 -
luogu3373:【模板题】线段树2(又加又乘)
题目传送门题目大意: 1、题面是常规的线段树:两种区间修改(有加有乘)+区间求和;解题思路: 1、单种的区间操作和区间求值都没什么问题,难就难在两个lazy怎么处理; 2、先乘还是先加,只要弄明白了,这题就切了: 3、情况1:当区间乘以 k 的时候: 1)当前是区间乘 k,点 x 的值,必然乘 k;√ 2)x 的乘法lazy 也乘 k;√ ...原创 2018-02-13 01:06:52 · 393 阅读 · 0 评论 -
luogu1886:滑动的窗口((线段树+输出优化)|| 单调队列)
题目传送门题目大意: 连续的区间查询解题过程(因为之间发表在了luogu的论坛上,现在整合过来而已):1、马上想到了单调队列的思路;2、最近在磕线段树,反正手速快,先跑一遍线段树。先写线段树的白痴思路1:1、建空树的时候,在叶子的时候顺便读初始值(省掉插初始值的函数和运算时间),建好就已经不是空树了。2、直接写查询最大值函数,然后复制一份,改成最小值。3、输出。结果:50分,囧。自己分析:感...原创 2018-02-13 01:31:23 · 261 阅读 · 0 评论 -
NOIP大纲整理:(九)树结构的模板*3
1、树状数组暂时代码是转载的,以后有机会会更新,看不懂请跳过例:HDU 1166#include<stdio.h>#include<math.h>const intMAX = 50010 * 4;intsegment[MAX];voidpushUp(int root){ segment[root] = segment[root * 2] + s...转载 2018-08-06 08:37:56 · 483 阅读 · 0 评论