有时候发现自己一天刷10道题,还不如一天认认真真的刷一道题,然后好好地总结。
所以,现在就总结一下最近一直在练的线段树。
关于概念这些,就不多说了,主要是类型分类。(注:代码风格学习的是HH神的,真的很不错,简洁明了)
具体的代码见blog。
1.改点求段
1)点改变(增加,减小,替换),求某段的和
HDU1166 敌兵布阵
2)点改变(增加,减小,替换),求某段最大小值
HDU1754 I Hate It
POJ3264 Balanced Lineup
2.改段求段
1)改段求段(段增减)
poj 3468 A Simple Problem with Integers
2)改段求段(段替换)
HDU1698 Just a Hook
POJ2528 Mayor's posters
ZOJ1610 Count the Colors
HDU3974 Assign the task
HDU4578 Transformation
HDU4614 Vases and Flowers
3)区间合并
POJ3667 Hotel
HDU1540 Tunnel Warfare
HDU4553 约会安排