首页 > 其他分享 >CTSC 2016 香山的树

CTSC 2016 香山的树

时间:2024-01-11 11:12:08浏览次数:28  
标签:Box le 后缀 CTSC Lyndon 香山 Theta 2016 Sigma

题意

给定 \(n, k\) 和 Lyndon 串 \(s_1\),求长度小于等于 \(n\) 的 Lyndon 串中,按照字典序排在 \(s_1\) 后面 \(k-1\) 名的串 \(s_k\),或报告无解。\(1\le n\le 50, 1\le k\le 10^{15}\)。

Lyndon 串:字典序严格小于所有自己真后缀的串

题解

只需要计数拥有某个给定前缀 \(p\) 的 Lyndon 串个数即可,假设这一部分我们能做到 \(\Theta(f(|p|, n))\),那么总复杂度是 \(\Theta\left(|\Sigma|\cdot\sum\limits_{i=1}^{n}f(i, n)\right)\)。

考虑一个 Lyndon 串 \(t\),有“字典序小于所有真后缀”这个限制,则我们关心所有 \(t\) 的 Z-Box,即它与它的某个后缀的 LCP。每个 Z-Box 都不能顶到字符串末尾,并且它的下一个字符必须比对应的前缀的下一个字符更大。然而 Z-Box 的求法一般不是在线的,和我们希望的 DP 做法不太适合。注意到一个特定起点的 Z-Box 实际上也就是特定前缀的 Border,我们考虑利用 KMP 而非 Z-Box 求解。尽管 KMP 可以在线地进行转移,我们仍然面对一个问题:设某个以 \(p\) 为前缀的串 \(pq\) 有长度为 \(x \ge |p|\) 的 Border,则我们需要知道 \(q_{x-|p|+1}\),而记录 \(q\) 的每个位置对于 DP 过程而言显然太多了——实际上这样还不如直接枚举所有串。注意使用 KMP 自动机而不是一般的 Border 树。

注意到,当上述情况出现时,一定意味着在 \(pq\) 的后面部分,\(p\) 又出现了一次。而且如果由于上述情况出现了某个后缀的字典序小于等于 \(pq\),那么这个后缀的开头还是 \(p\)。所以我们首先忽略掉不允许循环移位的限制,然后只考虑长度小于等于 \(|p|\) 的 Border 的合法性,并在计数的同时记录 \(p\) 在整个串中的出现次数 \(j\),最后再除以 \(j\),就可以知道所有 Lyndon 串或它的反复的方案数。最后再通过容斥去掉反复形成的串。时间复杂度 \(\Theta(n^2|p|\cdot|\Sigma|)\)。那么总复杂度 \(\Theta(n^4|\Sigma|^2)\)。看起来不太好过。注意到转移的限制是必须通过大于等于最大的非 \(0\) 转移字符的边转移,所以只有向那条边的末端以 \(1\) 的系数转移,或向 \(0\) 以后面的转移个数为系数转移这两种。预处理一下不难做到 \(\Theta(n^4\cdot |\Sigma|)\)。如果采用二分每一位的字符的方法可以做到 \(\Theta(n^4\log |\Sigma|)\),此外很多部分跑不满。

标签:Box,le,后缀,CTSC,Lyndon,香山,Theta,2016,Sigma
From: https://www.cnblogs.com/kyeecccccc/p/17958115

相关文章

  • P4093 [HEOI2016/TJOI2016] 序列 题解
    题目链接:序列对于LIS问题,很显而易见的有dp方程为:\[dp_i=\max{dp_j}+1\(j<i,a_j\lea_i)\text{dp表示以某个位置结尾的最长LIS}\]本题考虑到对于转移的两位置,如果能从\(j\rightarrowi\),那么在以上条件成立的基础情况下,我们由于可以更改二者中的任意一个值(因为同一......
  • ACES 增强版不丹水稻作物地图(2016-2022 年)
    ACES增强版不丹水稻作物地图(2016-2022年)¶用于改善粮食安全决策的2016-2022年年度作物类型稻米地图仍然是不丹的一项挑战。这些地图是与不丹农业部和SERVIR合作开发的。通过专注于发展不丹的科学、技术、工程和数学(STEM),我们共同开发了名为农业分类和估算服务(ACES)的地......
  • P4021 [CTSC2012] 最短路
    [CTSC2012]最短路LuoguP4021题目描述给定一个节点\(1\)和节点\(n\)连通的正权无向图\(G\),请你删除不超过\(k\)条边,使得节点\(1\)和节点\(n\)仍然连通的同时,且这两点之间的最短路尽可能长。提交答案题。Solution模拟赛考到这道,改完这道题我爆了。提交答案题一......
  • 2016 2019 李世石 人机大战 谷歌人工智能AlphaGo 韩国人工智能"韩豆"
    2016年3月,谷歌围棋人工智能机器人“阿尔法狗”与韩国棋手李世石进行较量,“阿尔法狗”获得比赛胜利,最终双方总比分定格在4:1。首场人机大战结束后,“阿尔法狗”之父、德米斯·哈萨比斯表示,人工智能的下一步目标是让计算机自己学棋。也就是说,下个版本的“阿尔法狗”将从零开始,不接受......
  • Windows Server 2016 中文版、英文版下载 (updated Jul 2023)
    WindowsServer2016中文版、英文版下载(updatedJul2023)WindowsServer2016Version1607,2023年7月更新作者主页:sysin.org本站将不定期发布官方原版风格月度更新ISO。MicrosoftWindowsServer2016充分利用WindowsServerWindowsServer是连接本地环境与Azure的操......
  • ez_pz_hackover_2016
    ez_pz_hackover_2016bamuwe@qianenzhao:~$checksecez_pz_hackover_2016[*]'/home/bamuwe/ez_pz_hackover_2016'Arch:i386-32-littleRELRO:FullRELROStack:NocanaryfoundNX:NXunknown-GNU_STACKmissingPIE......
  • pwn2_sctf_2016
    pwn2_sctf_2016lib地址泄露vuln()程序对输入的v2做了限制首先要利用整数绕过if(v2>32)的限制程序中没有现成的shell所以要通过printf泄露lib手动构造shellfrompwnimport*context.log_level='debug'io=process('./pwn2_sctf_2016')#io=gdb.debug('./......
  • 2016年全年回顾
    本文于2016年底完成,发布在个人博客网站上,标题为《2016年全年回顾》。考虑个人博客因某种原因无法修复,于是在博客园安家,之前发布的文章逐步搬迁过来。元旦后第一个工作日,上午请假办理宝宝的医保,比较重要;办事人员叮嘱说每年的12月10日~12月25日可以办理,以后可不能像这次拖这么久......
  • 题解 [SDOI2016] 游戏
    可以看出来出题人很想出一道把李超和别的什么东西凑起来的题目,于是给了这么一个缝合怪。https://www.luogu.com.cn/problem/P4069符号有点混乱。比如箭头又可以表示路径又可以表示赋值,代入语境应该还是好理解的。看到\(a\timesdis+b\)就应激反应出来是李超了,看到\(s\to......
  • 【APIO2016】烟火表演
    先前的题目对slopetrick的认识还不深刻,这题可以看出一个完整的构建过程。题目描述给定一棵有根树,根为\(1\),边带权,修改边权的代价时修改值与原值差的绝对值,求让所有叶子到根距离相等的最小代价。\(1\leqn\leq3\times10^5,1\leqw\leq10^9\)。算法解析首先有朴......