【SPOJ】GSS系列

2 篇文章 0 订阅
1 篇文章 0 订阅

  GSS系列是啥?并没有找到全称。听说是一系列查询区间最大子段和及其变种的题目(所以说是Greatest Subsequence Sum吗?)。
  最近做题发现一些简单的线段树处理方式都不会,觉得自己码力很弱,听说这套题目可以练习练习。


GSS1:
  处理区间最大子段和,线段树记录左端起连续最大、右端起连续最大、区间最大、区间和,合并的时候随意处理一下就好了。


GSS2:
  同GSS1,增加条件:统计的时候相同的数只计数一次。
  ……这难度顺序不对吧,完全不会
  ……偷偷跑去看题解
  ……发现oimaster讲的很清楚,虽然只有几句话,突然就懂了
  ……然而还是调了好久,突然发现pushdown的时候没有仔细分析
  这题就是要认真调一下,才能提高自己啊,觉得自己放弃的太早了。

  代码


GSS3:
  同GSS1,增加修改,随便写个更新就好了。


GSS4:
  区间开根号,貌似是个套路,由于开根次数少直接暴力就好
  ……然而输出打错调了半天,一直忘了输出冒号TAT


GSS5:
  GSS1的基础上限制左端点在[x1,y1],右端点在[x2,y2]
  ……(一不小心看到题解前几个字:分类讨论)然后突然发现是道大水题,本来以为自己根本没法做
  区间重叠部分处理,一开始我用第二种方法想当然打错了,后来改用第一种才对。后来发现第二种也可以,只是要注意询问的部分必须要取就是了

  代码
  


GSS6:
  增加了添加删除操作,这样就要用到序列维护的好东西了——splay
  调试了半天不知道哪错了……然后发现自己写的方法好麻烦,设置的时候应该把0号节点的各种最大值都设为 就简单多了,然而已经写了又不想改,就补齐了各种漏的地方,花了好久……

  代码


GSS7:
  还没做,待补……


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值