GSS系列是啥?并没有找到全称。听说是一系列查询区间最大子段和及其变种的题目(所以说是Greatest Subsequence Sum吗?)。
最近做题发现一些简单的线段树处理方式都不会,觉得自己码力很弱,听说这套题目可以练习练习。
GSS1:
处理区间最大子段和,线段树记录左端起连续最大、右端起连续最大、区间最大、区间和,合并的时候随意处理一下就好了。
GSS2:
同GSS1,增加条件:统计的时候相同的数只计数一次。
……这难度顺序不对吧,完全不会
……偷偷跑去看题解
……发现oimaster讲的很清楚,虽然只有几句话,突然就懂了
……然而还是调了好久,突然发现pushdown的时候没有仔细分析
这题就是要认真调一下,才能提高自己啊,觉得自己放弃的太早了。
GSS3:
同GSS1,增加修改,随便写个更新就好了。
GSS4:
区间开根号,貌似是个套路,由于开根次数少直接暴力就好
……然而输出打错调了半天,一直忘了输出冒号TAT
GSS5:
GSS1的基础上限制左端点在[x1,y1],右端点在[x2,y2]
……(一不小心看到题解前几个字:分类讨论)然后突然发现是道大水题,本来以为自己根本没法做
区间重叠部分处理,一开始我用第二种方法想当然打错了,后来改用第一种才对。后来发现第二种也可以,只是要注意询问的部分必须要取就是了
GSS6:
增加了添加删除操作,这样就要用到序列维护的好东西了——splay
调试了半天不知道哪错了……然后发现自己写的方法好麻烦,设置的时候应该把0号节点的各种最大值都设为 −∞ 就简单多了,然而已经写了又不想改,就补齐了各种漏的地方,花了好久……
GSS7:
还没做,待补……