传统题 1000ms 128MiB

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

0101 串指的是只有 0,10,1 组成的串。对于一个 0101a1na_{1⋯n},它的逆序对是指这样的 (i,j)(i,j) ,满足 1i<jn1 ≤ i < j ≤ nai>aja_i > a_j。如果一个 0101 串的逆序对数量为奇数,则称它是一个 好串。例如,串 1010101033 个逆序对,它是一个好串;而串 0100010022 个逆序对, 它不是一个好串。 定义这样一个函数ff:对于一个 0101ss,如果ss可以写成t1t2tkt_1t_2…t_k的形式(即kk个串依次连接),并且所有tit_i都是好串,那么定义f(s)f(s) 的值为这样的最小的kk;否则,定义f(s)=0f(s) = 0。 例如:f(1010)=1f(1010) = 1,因为 10101010 本身是一个好串。f(101010)=2f(101010) = 2,因为 101010101010本身不是好串,但它可以拆成 101101010010f(110)=0f(110) = 0,因为它无法写成若干个好串的连接。 现在有一个长为nn0101ss,它共有 2n12^n-1 个非空子序列。你需要计算这些串的ff值之和,模109+710^9 + 7

输入格式

一行一个长度为nn0101 串。

输出格式

输出一个数,表示答案。

01010010
148
010010101010101010010101101010101
421025972

样例输入输出 3

见下发文件。

数据规模

共 10 个测试点。

测试点 1 满足n10n ≤ 10

测试点 2,3 满足n20n ≤ 20

测试点 4,5,6 满足n103n ≤ 10^3

对于所有数据,满足 1n1051 ≤ n ≤ 10^5

附件

附件下载

高中CSP-S国庆模拟1005

未参加
状态
已结束
规则
IOI
题目
4
开始于
2025-10-5 18:00
结束于
2025-10-5 22:30
持续时间
4.5 小时
主持人
参赛人数
19