题目背景
译自 Izborne Pripreme 2017 (Croatian IOI/CEOI Team Selection) D1T1。2s,0.5G。
题目描述
给定简单无向图 G=(V,E),其中 ∣V∣=n。
给定点集 S⊂V,称 S 中的点被删除。
给定正整数 k,则 $(u,v)\in E\iff u,v\in V\backslash S \land 0\lt |u-v|\le k$。
定义 G 的一条回路为一个长度为 m=∣V∣−∣S∣ 的序列 a0,a1,⋯,am−1,其中 ∀0≤i<m,都有 (ai,a(i+1)modm)∈E,且 a0,a1,⋯,am−1 恰好取遍 V\S 中的每一个元素。
定义两条回路 a,a′ 本质相同,当且仅当存在非负整数 k,使得 $a_0=a'_{k\bmod m},a_1=a'_{(1+k)\bmod m},\cdots,a_{m-1}=a'_{(m-1+k)\bmod m}$。换句话说,a 和 a′ 本质相同当且仅当 a,a′ 循环同构。
求出 G 中本质不同的回路条数,对 (109+7) 取模。
输入格式
第一行,两个正整数 n,k。
第二行,一个长度为 n 的 01 串 s。当且仅当 si=1 时,i∈S。
保证 ∣S∣+3≤∣V∣。
输出格式
输出一行一个整数,表示答案对 (109+7) 取模后的结果。
6 3
100010
2
8 4
10000001
72
10 5
0010000100
428
提示
对于 100% 的数据,保证:
- 1≤n≤100;
- 3≤k≤5;
- ∣S∣+3≤∣V∣。
子任务编号 |
n≤ |
k≤ |
得分 |
1 |
20 |
5 |
10 |
2 |
100 |
3 |
40 |
3 |
5 |
50 |