A10452 | Codeword
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
The famous sculptor Cicasso is a Reberlandian spy!
These is breaking news in Berlandian papers today. And now the sculptor is hiding. This time you give the shelter to the maestro. You have a protected bunker and you provide it to your friend. You set the security system in such way that only you can open the bunker. To open it one should solve the problem which is hard for others but is simple for you.
Every day the bunker generates a codeword $s$ . Every time someone wants to enter the bunker, integer $n$ appears on the screen. As the answer one should enter another integer — the residue modulo $10^{9}+7$ of the number of strings of length $n$ that consist only of lowercase English letters and contain the string $s$ as the subsequence.
The subsequence of string $a$ is a string $b$ that can be derived from the string $a$ by removing some symbols from it (maybe none or all of them). In particular any string is the subsequence of itself. For example, the string "cfo" is the subsequence of the string "codeforces".
You haven't implemented the algorithm that calculates the correct answers yet and you should do that ASAP.
These is breaking news in Berlandian papers today. And now the sculptor is hiding. This time you give the shelter to the maestro. You have a protected bunker and you provide it to your friend. You set the security system in such way that only you can open the bunker. To open it one should solve the problem which is hard for others but is simple for you.
Every day the bunker generates a codeword $s$ . Every time someone wants to enter the bunker, integer $n$ appears on the screen. As the answer one should enter another integer — the residue modulo $10^{9}+7$ of the number of strings of length $n$ that consist only of lowercase English letters and contain the string $s$ as the subsequence.
The subsequence of string $a$ is a string $b$ that can be derived from the string $a$ by removing some symbols from it (maybe none or all of them). In particular any string is the subsequence of itself. For example, the string "cfo" is the subsequence of the string "codeforces".
You haven't implemented the algorithm that calculates the correct answers yet and you should do that ASAP.
输入格式
The first line contains integer $m$ ( $1<=m<=10^{5}$ ) — the number of the events in the test case.
The second line contains nonempty string $s$ — the string generated by the bunker for the current day.
The next $m$ lines contain the description of the events. The description starts from integer $t$ — the type of the event.
If $t=1$ consider a new day has come and now a new string $s$ is used. In that case the same line contains a new value of the string $s$ .
If $t=2$ integer $n$ is given $(1<=n<=10^{5}$ ). This event means that it's needed to find the answer for the current string $s$ and the value $n$ .
The sum of lengths of all generated strings doesn't exceed $10^{5}$ . All of the given strings consist only of lowercase English letters.
The second line contains nonempty string $s$ — the string generated by the bunker for the current day.
The next $m$ lines contain the description of the events. The description starts from integer $t$ — the type of the event.
If $t=1$ consider a new day has come and now a new string $s$ is used. In that case the same line contains a new value of the string $s$ .
If $t=2$ integer $n$ is given $(1<=n<=10^{5}$ ). This event means that it's needed to find the answer for the current string $s$ and the value $n$ .
The sum of lengths of all generated strings doesn't exceed $10^{5}$ . All of the given strings consist only of lowercase English letters.
输出格式
For each query of the type $2$ print the answer modulo $10^{9}+7$ on the separate line.
输入输出样例
输入 #1
3 a 2 2 1 bc 2 5
输出 #1
51 162626
In the first event words of the form "a?" and "?a" are counted, where ? is an arbitrary symbol. There are $26$ words of each of these types, but the word "aa" satisfies both patterns, so the answer is $51$ .
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted