序列自动机
林黛玉倒拔垂杨柳
你我最后也平凡到自命不凡
展开
-
牛客练习赛23 D.托米的咒语 (序列自动机 next_permutation 全排列函数)
托米的咒语 题目大意: 托米没有完成上一个任务,准备施展黑魔法推倒 1317 黑魔法咒语被描述为一个 长为 n 的,仅包含小写英文字母 ‘a’…‘i’ 的字符串,在托米所在的星球,魔法造成的每次有效伤害都是来自他的一个子序列,对于每一个 ‘a’… ‘i’ 的排列(共 9! 种),若作为咒语的子序列出现, 就会造成 1 的伤害 而咒语的总伤害为所有 ‘a’… ‘i’ 的排列造成的伤害值之和,托米能打出多少点的伤害,是否能击败 1317 呢? 输入描述: 一行输入一个字符串 s 输出描述: 一行输出一个数,表原创 2020-09-12 11:14:31 · 128 阅读 · 0 评论 -
牛客 月月查华华的手机(序列自动机)
月月查华华的手机 https://ac.nowcoder.com/acm/problem/23053 来源:牛客网 题目大意: 给出一个字符串S,然后k次查询,问字符串t是否是s的子序列,是的话输出yes,反之输出no。 因为n和s都是1e6,暴力的话必然会超时,所以用到了序列自动机 就是建立一个next[i][j]数组,记录 i 位置之后【j-‘a’】字母第一次出现的位置然后匹配即可。 自动机的建立 void solve(){//自动机的建立 n=strlen(s+1); for(int i=n;i&原创 2020-07-17 18:00:24 · 196 阅读 · 0 评论