BZOJ 2213 [Poi2011]Difference

发布于 2017-11-23  148 次阅读


题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2213

题意:已知一个长度为 n 的由小写字母组成的字符串,求其中连续的一段,满足该段中出现最多的字母出现的个数减去该段中出现最少的字母出现的个数最大。求这个个数。


有一个显然的\(O(26^2\times n)\) 做法就是枚举最大的和最小的是什么,分别赋值为 1 和-1,跑最大子段和。

发现每次都扫一下太傻了,只需要用链表把同种字母串起来即可。这样是\(O(26\times n)\) 的。

 


一个非常弱的准退役OIER