线段树
HermioneL
年轻的好处在于,你还没有太多经验,并天生相信一切皆可能。
展开
-
hdu 3308 LCIS
题目在这里呀这题真的是把我坑到了(其实很简单啊可我又傻了题意有两个操作,一个是将a位置上的数改成b,一个是计算a到b的区间内最长子序列的长度。题解很常规啊,线段树上做区间合并,线段树的每个点需要记下三个值,最左边的连续子序列长度t[rt].l,最右边的连续子序列长度t[rt].r,和整个区间的最长连续子序列长度t[rt].sum。pushup的地方注意几点。1、将两个小区间合并成大区间,将左区间的l原创 2018-03-10 23:30:41 · 249 阅读 · 0 评论 -
BZOJ 3110 [ZJOI2013]K大数查询
题目在这里呀~这题被卡常了qaq(ZJOI临近了我也不想在这种题上花太多时间…) 可以想到要用二分答案(只是以前做过一道类似的题啦 然后常规的,求出左子树的贡献,如果大于c,就往左子树找,否则往右子树找。 然后就是树套树了? 外层权值内层记区间和。 我没看懂他们说的标记永久化什么的,可听说是没负数的而且不会爆int?? 然后就调了一个晚上,后来看评论发现…天呐要开longlong qwq原创 2018-03-19 23:38:30 · 221 阅读 · 0 评论 -
BZOJ 3747 [POI2015]Kinoman
题目在这里呀! 题意: m部电影,n天放映,第i天放映第f[i]部电影,第i部电影的好看值为w[i]。 一个区间[l,r],在第l天到第r天内,如果第i部电影只被看过一遍,那么就有w[i]的贡献,求最大贡献。 题解: 感觉是一道好题哦~(5月份没更过博啊终于打算写几篇了qwq) 从暴力入手吧,枚举左端点l,向右扫,每次cnt[f[i]]++,如果此时cnt[f[i]]=1,则加上贡...原创 2018-05-20 12:54:49 · 245 阅读 · 0 评论 -
luogu P3605 [USACO17JAN]Promotion Counting晋升者计数 BZOJ 4756
题目链接1 题目链接2 题意 给出每个点的父亲节点,求每个点的孩子节点有多少个权值大于它。 题解 线段树合并模板题啦,从下往上合并权值线段树即可(略略略 //Suplex #include <cstdio> #include <iostream> #include <cstring> #include <algorithm> #inc...原创 2018-05-29 11:19:08 · 251 阅读 · 0 评论 -
BZOJ 5343: [CTSC2018] 混合果汁
题目在这里呀~ 题意 (迟到的题解吧,CTSC略略略,但这道题确实挺基础的qwq) 有n种果汁,m个小朋友,第i种果汁有个美味度di,每升的价格pi,和最多有li升。第i个小朋友付的价格不超过gi,但要获得至少Li升的果汁,问美味度最小值的最大值是多少? 题解 一眼可以看出是二分答案的吧,然后考虑贪心,暴力的话是把美味度>=d[i]的p数组排序,然后从小的开始取,这样子是正确的,但...原创 2018-05-29 23:02:05 · 455 阅读 · 0 评论 -
luogu P4253 小白逛公园
题目在这里呀~ 题意 1、单点修改 2、求区间[l,r]内的最大子序列 题解 做法还算好想吧(如果做过类似题目 比如poj 的 hotel ?好像没什么差别的。 就是一棵线段树每个节点要记四个值:左端点连续的和最大值,右端点连续的和的最大值,区间和,区间最大子序列和。 注意点: 1、在求和时因为这个询问区间是拼起来的,所以在query时返回最好是结构体,以便合并。(不用的话不...原创 2018-05-30 23:22:30 · 252 阅读 · 0 评论 -
BZOJ 3653: 谈笑风生
题目在这里呀! 个人认为是一道很好的题目,原来可持久化线段树还能这么用,看题解之前还是没有想到啦要批评!那就写个题解补偿一下? 题意 给你一棵有根树,n个节点,有q次询问,每次询问,给出两个数x(1<=x<=n),d,求有多少有序元组(y,z)满足 x,y,z互不相同,x,y均为z的祖先,且x,y之间的距离超过d。 题解 y的位置有两种情况 1、y是x的祖先 ...原创 2018-07-22 21:29:25 · 288 阅读 · 0 评论