usaco2.3.1 Pascal

来源:百度知道 编辑:UC知道 时间:2024/09/28 10:11:55
解释一下题目的意思。- -
看不懂题目。

嗯,以上的都不是正解,这道题我做过的,也写了题解,我来给你讲一下吧

分数,我要了,请给我吧,谢谢

如果想看标准翻译,请点击http://www.nocow.cn/index.php/Translate:USACO/prefix

这个是nocow上的翻译

但是我一开始看了翻译也没看懂具体的意思

实际上,这道题中所说的前缀根本就是没用的,用我的话解释如下:

给你实际上,就是给你一个可以用的小串的集合,以及给你一个长串,然后假如长串里某一段全部是由小串构成的,那么这一段就是符合的,问你在这种符合的子串中,最长的一串的长度

具体算法就是从长串的末尾开始扫,f[i]表示以[i]为首的最长的复合子串,

然后当从n开始到m时是某个小串,那么f[n]:=max{f[n],f[m]+n-m+1};然后再扫一遍得到最大长度,因为字串数量不多,所以实际复杂度大概在O(n)多一点

usaco USA Computing Olympiad
美国高效的信息学测评网站,也是美国中学生的官方竞赛网站。
美国著名在线题库,专门为信息学竞赛选手准备。
全英文界面,但有非官方的中文翻译。推荐直接阅读英语原文,既准确可靠又可提高英语水平。
做题方式模拟正式比赛,采用标准测评机、文件输入输出、直接提交程序源文件的测评方式。
网站的Training题目全面,是学习信息学不可不知的网站,每年NOI,NOIP 都会参考上面的题目。
每道题附有详细题解,可查看测试数据和运行结果,便于调试、发现错误并改正。
采用章节递进的层次结构,由易到难,讲授知识、练习编程结合,题目必须依次完成,避免了只挑简单题做的行为。
各章节犹如一本竞赛辅导书,形成了一个鲜明的知识结构,利于OI初学者和高手逐步提高水平,充分学习信