标签:blog http io os strong sp on c log
就是用来维护区间信息,然后各种秀智商游戏。
优化dp、主席树等。
size值的活用:主席树就是这样来的。支持区间加减,例题和模板:主席树,【BZOJ】1146: [CTSC2008]网络管理Network(树链剖分+线段树套平衡树+二分 / dfs序+树状数组+主席树),【BZOJ】1901: Zju2112 Dynamic Rankings(区间第k小+树状数组套可持久化线段树(主席树))
01(就是更新和不更新等这种对立操作)情况:我们就要在各个更新的操作中明白一件事,那就是总和不变。假设维护的是size,那么假设是标记下放,那么更新为(r-l+1)-size,例题:【wikioi】1690 开关灯(线段树)
pushdown的操作放在update、query等函数的位置不同影响很大,一般来说放在函数开头最保险,原因是显然的(当遇到有冲突的区间更新时),比如说例题:【wikioi】2216 行星序列(线段树)
逆序建树:在一些题目中顺着的思路似乎想不通,那么就逆着想一想,想想前后顺序是否有关联,然后再操作,例题:【POJ】2828 Buy Tickets(线段树+特殊的技巧/splay)
优化dp:对于一些dp中f(i)依赖于f(k), k<i的坐标型转移方程中,我们可以用线段树来维护这些区间信息,达到logn更新,例题:【BZOJ】1672: [Usaco2005 Dec]Cleaning Shifts 清理牛棚(dp/线段树),【BZOJ】1664: [Usaco2006 Open]County Fair Events 参加节日庆祝(线段树+dp)
然后就是看智商了。。
标签:blog http io os strong sp on c log
原文地址:http://www.cnblogs.com/iwtwiioi/p/3999223.html