luogu#P6396. 要有光

    ID: 10411 远端评测题 1000ms 128MiB 尝试: 1 已通过: 0 难度: 6 上传者: 标签>字符串动态规划dp图论贪心2020倍增最短路Dijkstra回文自动机 PAM

要有光

题目背景

Der mir zeigt wo ich bin\text{Der mir zeigt wo ich bin} 告诉我身在何方_\texttt{告诉我身在何方} Divano\text{Divano} 神啊_\texttt{神啊} Sei mein Licht\text{Sei mein Licht} 做我的光_\texttt{做我的光} Ich sm chte mich dir schenken\text{Ich sm chte mich dir schenken} 我愿将自己赐予与你_\texttt{我愿将自己赐予与你} Noch vor dem Sonnenaufgang\text{Noch vor dem Sonnenaufgang} 在晨曦来临之前_\texttt{在晨曦来临之前}

  那时正值春深,丛林里生灵闹哄哄地雀跃,享受着空气中升腾的灵气。
  “嗖”的一声,一团银灰色的小东西突然从她眼前的地面划过,要不是腾起的尘土在阳光下悠闲地闪烁,她甚至怀疑是自己花了眼。
  紧接着,又“嗖”的一声,这次她看清楚了,是一只雪白的幼龄狐妖,“还……有点可爱。”
  “真走运,捉了这只,就可以交差啦。”她,虽年少却赫赫有名的除妖师,绫,急忙跟了上去。

题目描述

万物有灵,法术亦是如此。任何法术都等价为一段仅包括大小写字母的字符串 S=s1s2snS=s_1s_2\dots s_n,现规定如下几种法术记号:

  • 元素。即字符串中的每个字符。在本题中,元素仅为大小写字母。
  • 法术大小。即字符串长度。记号为 S|S|
  • 空法术。大小为 00 的法术为空法术。
  • 等法术。对于法术 S,TS,T 。当且仅当 S=T,iS,si=ti|S|=|T|,\forall i \leq |S| , s_i = t_i 时,称 SSTT 为等法术,记为 S=TS=T
  • 逆法术。设现有法术 S=s1s2snS=s_1s_2\dots s_n,称法术 TTSS 的逆法术,当且仅当 S=T|S|=|T|iS,si=tni+1\forall i \leq |S| , s_i=t_{n-i+1}。本题将 TT 记作 SrS_r
  • 逆法术对。称两法术 SSTT 构成逆法术对 (S,T)(S,T),当且仅当 T=SrT=S_r
  • 归法术。设现有法术 SS,称 SS 为归法术当且仅当 SS 对应的字符串为回文串。特别地,空法术被视作归法术
  • 子法术。设现有法术 SS ,则对于 1ijS1\le i\le j\le |S| ,称 T=sisi+1sjT=s_is_{i+1}\dots s_jSS 的子法术,并规定子法术的记号 S[i,j]S[i,j] 。当 i>ji>j 时,S[i,j]S[i,j] 为空法术。

现在,绫有一个法术源 S0S_0, 而她已经凝练出了一个初始的法术 S=S0S=S_0。对于每种妖魔,都有一个法术弱点 TT。绫的法术性火,而火系法术又以淬光之术为上等。所以绫想要练习淬光之术。只要绫通过以下淬光法术变换使 S=TS=T,就能轻易击败妖魔:

  • 光归。对于任意非空法术 SS,保留其最大归法术后缀。若S=n|S|=n即取一个最小的 i[1,n]i \in [1,n] 使得 S[i+1,n]S[i+1,n] 为归法术,并令 STS \leftarrow T允许 TT 为空法术。消耗时间 AA
  • 光辉。对于归法术 SS,在 S0S_0 中寻找一个子归法术 TT,满足 SSTT最大归法术后缀(其定义见 "光归" ),并令 STS\leftarrow T空法术被认为是任何法术的后缀。消耗时间 BB
  • 光隐。对于非空归法术 SSS=n|S|=n 删去其长度相等且长度不大于 kk 前缀与后缀。即取一个 i[1,min{k,n12}]i\in[1,\min\{k,\lfloor\frac{n-1}2\rfloor\}],使 T=S[1+i,ni]T=S[1+i,n-i],并令 STS\leftarrow T。特别地,TT 不可以为空法术,消耗时间 CC
  • 光腾。对于非空归法术 S,S=nS,|S|=n,在其左右加上一对逆法术对。即取一逆法术对 (P,Q)(P,Q),设 P=Q=l|P|=|Q|=l,使 T=p1p2pls1s2snq1q2qlT=p_1p_2\dots p_ls_1s_2\dots s_nq_1q_2\dots q_l,且 TT 须为 S0S_{0} 的子法术 ,并令 STS\leftarrow T。消耗时间 DD
  • 光弋。对于任意非空法术 S,S=nS,|S|=n ,在其前端加入任意元素。即取一个元素 aa,使 T=as1s2snT=as_1s_2\dots s_n,并令 STS\leftarrow T,消耗时间 EE。光弋变换玄妙莫测,绫还没有熟练掌握此法术变换。所以在使用此变换之后,无法再使用其它类型的法术变换

现在绫想知道,对于不同妖魔的法术弱点 TT,自己至少要消耗多少时间进行如上法术变换使 S=TS=T每组询问间互不干扰

输入格式

第一行输入一个仅包含大小写字母的字符串,表示绫的法术源 S0S_0。由题意,初始法术 S=S0S=S_0

第二行输入一个正整数 kk,表示光隐变换所允许删去前缀后缀的最长长度。

第三行输入五个正整数 A,B,C,D,EA,B,C,D,E,表示每种法术变换的消耗时间。

第四行一个正整数 qq,表示询问组数。

接下来 qq 行,每行包含两个正整数 l,rl,r,表示一种妖魔的法术弱点为 T=S0[l,r]T=S_0[l,r]

输出格式

对于每个询问,输出一行一个整数,表示第 ii 个询问的答案。

ababa
2
3 2 4 2 1
3
1 5
2 3
1 3
0
5
3
aaaaaa
1
3 1 4 1 10
2
2 4
2 3
7
8

提示

样例解释 #1

对于第一个询问,因为 T="ababa"=ST=\texttt{"ababa"}=S,不需要操作。

对于第二个询问,T="ba"T=\texttt{"ba"},最优策略为先使用一次光隐,得到 S="a"S'=\texttt{"a"};接着使用一次光弋,在 SS' 前添加元素 ’b’\texttt{'b'} 得到 S="ba"=TS''=\texttt{"ba"}=T,耗时 4+1=54+1=5

对于第三个询问,T="aba"T=\texttt{"aba"},最优策略为使用一次光归,得到 S="aba"=TS'=\texttt{"aba"}=T。耗时 33


数据范围

对于不同的测试点,我们约定数据规模如下:

测试点编号 $\left\vert S \right\vert,\left\vert T \right\vert \le$ qq\le 特殊限制
151 \sim 5 10310^3
696 \sim 9 10510^5 初始法术只有一种元素
102010 \sim 20

对于 100%100\% 的数据,1q,S1051 \le q,|S| \leq 10^51A,B,C,D,E1091 \leq A,B,C,D,E \leq 10^91lrS1 \leq l \leq r \leq |S|1k51 \leq k \leq 5


题目背景 ( 续 )

  这边,绫还在摸索着变换法术,却感觉腰间的令牌被抓了一下。“喂?!”
  只见一个披头散发的少女正半跪着扒在她的腰间,左手还提着银灰色毛发的小兔子的一对耳朵,“你……是刚才那只狐狸?”绫尴尬地收回法术,不自觉地伸出手揉了揉少女头顶雪白的兽耳,心想着这只狐狸精得有多傻。“我可是除妖师哟,你不怕吗?”
  “……绫?”少女并没有理会绫的话,只是努力地认出了令牌上刻着的名字。
  绫好奇的目光撞上了少女璀璨的碧绿双眸,又不经意间扫过小巧的鼻梁,玲珑的小嘴,白皙的脖子,但再随着如凝的肌肤滑下……
  一直被视作男儿的绫哪见过这般风景,只觉得自己大脑当了机,还隐约嗅到出自鼻腔的铁锈味儿,身体便向后靠倒在一棵树干上,连忙用双手捂住滚烫的脸颊。
  “绫?绫?你怎么啦?!”少女心急地凑上去,绫吓得下意识往后退,却忘记身后是一棵粗壮的树干。“欸,绫手上的,是血吗……”双眼紧闭的绫听得出来少女像是被吓到了,看来还是一只没开过荤的狐狸精呢。
  “绫……你没事吧……”少女分明带着哭腔,小心翼翼地学着自己还是小狐狸的时候妈妈照顾自己的方式,在绫的身上东摸西摸。
  “我,我没事……”绫已经不敢想象究竟是哪些部位在触碰自己的皮肤了,“你……你先变回狐狸……快!”绫当然想把少女推开,却又怎么敢伸出手触碰少女呢?
  少女闻言,一怔,但还是乖乖变回了一只狐狸,还不忘叼起几欲逃走的兔子。
  绫赶忙收拾了自己的窘相,惊恐地扶着树干,确认自己的人身安全后,轻轻捏住小狐狸的后颈,提起在地上的两小只。
  “以后不许再胡乱变成人形了,听到没有!”绫后怕地警告着小狐狸,却见右手的小狐狸直勾勾地盯着左手的小兔子,而左手的小兔子好像想钻进自己的手心里,哪有听她的话呀……
  “哎,算了……”绫把小狐狸放在肩头,把似乎吓晕的小兔子递给她,“一会儿再吃哦。”(雨兔兔:我好难qwq。)
  “就算……捡了一只宠物吧。”绫心里想着。

  (未完待续www……)