首页 > 其他 > 详细

ZROI 2019 寒假省选线下自闭赛

时间:2019-02-11 17:23:11      阅读:346      评论:0      收藏:0      [点我收藏+]

题目地址:http://www.zhengruioi.com/contest/231

预计得分:$20+10+60=90$

实际得分:$20+10+20=60$

自闭了,,,T3想出K=1的做法然后写炸,还要比暴力低10分

 

$T1:$

20分直接模拟即可

对于这种题,一般有一个套路就是枚举长度(就是j-i+1),然后去统计答案

考虑优化统计答案的速度(就是不要每次都去找具体的i,j,k,然后再ans++)

假如有一个串:abaada,如果我们已经知道了ab和aa可以拼接,现在我们又知道了aa和da可以拼接

那显然ab,aa,da三个串也可以拼接,于是ans+=2

考虑怎么快速去发现一段字串s[i...j]是否能与s[i+len...j+len]能够拼接(即至多只有一个位置不同)

我们可以O(n)的处理出一个数组S,S[i]表示s[i]是否与s[i+len]不相同

如果某段S[i..j]之和小于等于1的话,就说明这段能够和s[i+len...j+len]相拼接(求个前缀和即可快速知道区间和)

 

ZROI 2019 寒假省选线下自闭赛

原文:https://www.cnblogs.com/Aegir/p/10362499.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!