首页 > 学院 > 开发设计 > 正文

【JZOJ4964】【GDKOI2017模拟1.21】Rhyme

2019-11-11 05:27:01
字体:
来源:转载
供稿:网友

hafy

由于多次交换邮票没有满足所有人的需求,小Z被赶出了集邮部。无处可去的小Z决定加入音乐部,为了让音乐部的人注意到自己的才华,小Z想写一首曲子。为了让自己的曲子更好听,小Z找到了一些好听曲子作为模板。曲谱可以表示成只包含小写字母的字符串,小Z希望自己最终的曲谱中任意一个长度为K的子串都是一个模板的子串。现在小Z想知道自己的曲谱最长可以是多长,如果可以无限长的话请输出INF。

forget

对于30%的数据:K=2。 对于70%的数据:每组数据字符串总长不超过1000。 对于100%的数据:每组数据字符串总长不超过100000,1≤K≤100000。每个测试点数据不超过10组。

anfa

刨根问底: 这道题究竟在求些什么? 在即将要求的曲谱中,我们希望它的所有长度为k子串都必须是一个模板的子串。 出于我必须明白这个曲谱究竟会有什么样的性质这个目的,我倒过来思考。


曲谱它的每个长度为k的子串都并非独立而言的; 对于一个长度为k−1的子串,如果能够后接字符,就等同于在某个包含这个子串的模板中的后接字符。 如果我要解题,肯定是在这个特殊之处做手脚


这个特殊之处给我们什么启发呢? 挖掘:

1.要维护的子串数量较少;2.可以建立DAG来映射。

这样就好做了,一个哈希套上去就是了。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表