CF1954F.Unique Strings
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
我们称两个字符串 a 和 b 是相等的,如果可以通过循环移位字符串 a 得到字符串 b。例如,字符串 0100110 和 1100100 是相等的,而 1010 和 1100 则不相等。
给定一个长度为 n 的二进制字符串 s,其前 c 个字符为 1,后 n−c 个字符为 0。
每次操作,你可以将一个 0 替换为 1。
请计算在不超过 k 次操作内,最多可以得到多少个不同的字符串(不同指的是循环同构意义下的不同字符串)。由于答案可能很大,请输出答案对 109+7 取模后的结果。
输入格式
第一行包含三个整数 n、c 和 k(1≤n≤3000;1≤c≤n;0≤k≤n−c)——字符串 s 的长度、前缀 1 的长度以及最多操作次数。
输出格式
输出一个整数,表示在不超过 k 次操作内可以得到的不同字符串的数量,对 109+7 取模。
输入输出样例
输入#1
1 1 0
输出#1
1
输入#2
3 1 2
输出#2
3
输入#3
5 1 1
输出#3
3
输入#4
6 2 2
输出#4
7
输入#5
24 3 11
输出#5
498062
说明/提示
在第一个测试用例中,唯一可能的字符串是 1。
在第二个测试用例中,可能的字符串有:100、110 和 111。字符串 101 与 110 是循环等价的,因此不计入。
在第三个测试用例中,可能的字符串有:10000、11000、10100。字符串 10010 与 10100 循环等价,10001 与 11000 循环等价。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?