zoukankan      html  css  js  c++  java
  • 【JZOJ4964】【GDKOI2017模拟1.21】Rhyme

    hafy

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

    forget

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

    anfa

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


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


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

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

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

  • 相关阅读:
    菜根谭#308
    菜根谭#307
    菜根谭#306
    菜根谭#305
    菜根谭#304
    菜根谭#303
    菜根谭#302
    菜根谭#301
    菜根谭#300
    菜根谭#299
  • 原文地址:https://www.cnblogs.com/hiweibolu/p/6714798.html
Copyright © 2011-2022 走看看