BZOJ4861 [Beijing2017]魔法咒语】的更多相关文章

题意 Chandra 是一个魔法天才.从一岁时接受火之教会洗礼之后, Chandra 就显示出对火元素无与伦比的亲和力,轻而易举地学会种种晦涩难解的法术.这也多亏 Chandra 有着常人难以企及的语言天赋,让她能轻松流利地说出咒语中那些极其拗口的魔法词汇.直到十四岁,开始学习威力强大的禁咒法术时, Chandra 才遇到了障碍.根据火之魔法规则,禁咒的构成单位是 N 个基本词汇.施法时只要凝聚精神力,说出一段用这些词语组成的长度恰好等于 L 的语言,就能释放威力超乎想象的火法术.过去的魔法师们…
[BZOJ4861][Beijing2017]魔法咒语 题意:别看BZ的题面了,去看LOJ的题面吧~ 题解:显然,数据范围明显的分成了两部分:一个是L很小,每个基本词汇长度未知:一个是L很大,每个基本词汇的长度是1或2.看来只能写两份代码了. 对于L很小的,我们先将禁忌串建成一个AC自动机,然后预处理出to[i][j]表示AC自动机中的第i个节点在加入基本词汇j后会到达的节点.然后设f[i][j]表示总长度为i,匹配到第j个节点的方案数.然后DP一下就好了. 对于L很大的,我们想到矩乘,设ans…
4861: [Beijing2017]魔法咒语 Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 217  Solved: 105[Submit][Status][Discuss] Description Chandra 是一个魔法天才. 从一岁时接受火之教会洗礼之后, Chandra 就显示出对火元素无与伦比的亲和力,轻而易举地学会种种晦涩难解 的法术.这也多亏 Chandra 有着常人难以企及的语言天赋,让她能轻松流利地说出咒语中那些极其拗口的魔…
[题意]给定n个原串和m个禁忌串,要求用原串集合能拼出的不含禁忌串且长度为L的串的数量.(60%)n,m<=50,L<=100.(40%)原串长度为1或2,L<=10^18. [算法]AC自动机+DP+矩阵快速幂 [题解]其实题意的数据范围不太清晰,反正开200个点就足够了. 因为要匹配禁忌串,所以对禁忌串集合建立AC自动机,标记禁忌串结尾节点,以及下传到所有能fail到的点(这些点访问到都相当于匹配了禁忌串). 令f[i][j]表示匹配到节点i,长度为j的串的数量,先预处理a[i][j…
P3715 [BJOI2017]魔法咒语 AC自动机+dp+矩阵乘法 常规思路是按基本串建立AC自动机 然鹅这题是按禁忌串建立AC自动机 对后缀是禁忌的点以及它的失配点做上标记$(a[i].ed)$,到时候不访问. 基本串转化为自动机上的边:设$p[j][i]$表示第$j$个节点加上第$i$个串会到的节点编号 在建好AC自动机后可以直接处理. 现在分类讨论(对,两份代码) 1.$L<=100,60pts$ 直接在AC自动机上跑dp 设$f[j][i]$表示到点$j$长度为$i$的方案数 枚举基本…
bzoj 4860   LOJ2180   洛谷P3175 [BJOI2017]魔法咒语 题目描述: Chandra 是一个魔法天才. 从一岁时接受火之教会洗礼之后,Chandra 就显示出对火元素无与伦比的亲和力,轻而易举地学会种种晦涩难解的法术. 这也多亏 Chandra 有着常人难以企及的语言天赋,让她能轻松流利地说出咒语中那些极其拗口的魔法词汇. 直到十四岁,开始学习威力强大的禁咒法术时,Chandra 才遇到了障碍. 根据火之魔法规则,禁咒的构成单位是 N 个基本词汇. 施法时只要凝聚…
Luogu-3250 [BJOI2017]魔法咒语(AC自动机,矩阵快速幂) 题目链接 题解: 多串匹配问题,很容易想到是AC自动机 先构建忌讳词语的AC自动机,构建时顺便记录一下这个点以及它的所有后缀有没有忌讳词语,即对于每个AC自动机上的结点\(x\),\(p[x].p|=p[p[x].f].p\) 然后前半部分分和后半是两道完全不同的题目(滑稽 前60分: 这些部分分的特征是\(L\le 100\) 直接AC自动机上\(dp\)就好了,枚举匹配长度\(i\),当前匹配到的点\(x\),以及…
[BZOJ4908][BeiJing2017]开车 Description 你有n辆车,分别a1, a2, ..., an位置和n个加油站,分别在b1, b2, ... ,bn .每个加油站只能支持一辆车的加油,所以你要把这些车开到不同的加油站加油.一个车从x位置开到y位置的代价为 |x-y| ,问如何安排车辆,使得代价之和最小.同时你有q个操作,每次操作会修改第i辆车的位置到x,你要回答每次修改操作之后最优安排方案的总代价. Input 第一行一个正整数n,接下来一行n个整数a1, a2, .…
P3715 [BJOI2017]魔法咒语 用基本词汇组成\(L\)长度的单词,其中不能包含禁忌词汇 用禁忌词汇建强大的\(tire\)图 解决: 分类讨论,\(L<=100\)用普通dp暴力在\(tire\)图上用基本词汇跑,不能包含禁忌词汇 显然,\(L<=10^8\)肯定会超时的,注意到基本词汇的长度\(<=2\),矩阵优化一下 构造矩阵是一个难点,左边的矩阵两部分,我们要把\(dp_{i-2}与dp_{i-1}\)矩乘后达到\(dp_{i-1}与dp_{i}\) 右边的矩阵四部分…
Time Limit: 30 Sec  Memory Limit: 256 MB Description 你有n辆车,分别a1, a2, ..., an位置和n个加油站,分别在b1, b2, ... ,bn .每个加油站只能支持一辆车的加油,所以你要把这些车开到不同的加油站加油.一个车从x位置开到y位置的代价为 |x-y| ,问如何安排车辆,使得代价之和最小.同时你有q个操作,每次操作会修改第i辆车的位置到x,你要回答每次修改操作之后最优安排方案的总代价. Input 第一行一个正整数n,接下来…