A8293 | Weak Subsequence
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
Little Petya very much likes strings. Recently he has received a voucher to purchase a string as a gift from his mother. The string can be bought in the local shop. One can consider that the shop has all sorts of strings over the alphabet of fixed size. The size of the alphabet is equal to $k$ . However, the voucher has a string type limitation: specifically, the voucher can be used to purchase string $s$ if the length of string's longest substring that is also its weak subsequence (see the definition given below) equals $w$ .
String $a$ with the length of $n$ is considered the weak subsequence of the string $s$ with the length of $m$ , if there exists such a set of indexes $1<=i_{1}<i_{2}<...<i_{n}<=m$ , that has the following two properties:
- $a_{k}=s_{ik}$ for all $k$ from $1$ to $n$ ;
- there exists at least one such $k$ ( $1<=k<n$ ), for which $i_{k+1}–i_{k}>1$ .
Petya got interested how many different strings are available for him to purchase in the shop. As the number of strings can be very large, please find it modulo $1000000007$ ( $10^{9}+7$ ). If there are infinitely many such strings, print "-1".
String $a$ with the length of $n$ is considered the weak subsequence of the string $s$ with the length of $m$ , if there exists such a set of indexes $1<=i_{1}<i_{2}<...<i_{n}<=m$ , that has the following two properties:
- $a_{k}=s_{ik}$ for all $k$ from $1$ to $n$ ;
- there exists at least one such $k$ ( $1<=k<n$ ), for which $i_{k+1}–i_{k}>1$ .
Petya got interested how many different strings are available for him to purchase in the shop. As the number of strings can be very large, please find it modulo $1000000007$ ( $10^{9}+7$ ). If there are infinitely many such strings, print "-1".
输入格式
The first line contains two integers $k$ ( $1<=k<=10^{6}$ ) and $w$ ( $2<=w<=10^{9}$ ) — the alphabet size and the required length of the maximum substring that also is the weak subsequence, correspondingly.
输出格式
Print a single number — the number of strings Petya can buy using the voucher, modulo $1000000007$ ( $10^{9}+7$ ). If there are infinitely many such strings, print "-1" (without the quotes).
输入输出样例
输入 #1
2 2
输出 #1
10
输入 #2
3 5
输出 #2
1593
输入 #3
2 139
输出 #3
717248223
In the first sample Petya can buy the following strings: aaa, aab, abab, abb, abba, baa, baab, baba, bba, bbb.
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted