该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
裂缝谱(gap)
题目描述
猪猪正在研究一种特殊的整数生成过程。
给定正整数 n 以及正整数序列 c1,c2,…,cn。定义 S0=0,并对 1≤i≤n 依次生成
ai=Si−1+ci,Si=Si−1+ai。
对于每个 i,任选一个符号 εi∈{−1,1},可以得到一个整数
x=i=1∑nεiai。
在上述生成规则下,全部 2n 种符号方案得到的整数互不相同。将这些整数从小到大排列为
x1<x2<⋯<x2n。
对于 1≤j<2n,定义第 j 条裂缝的宽度为
dj=xj+1−xj。
猪猪有 q 次询问。每次给定两个二进制整数 L,R 和一个十进制整数 K,设 L,R 表示的整数分别为 ℓ,r,你需要求出满足
ℓ≤j≤r,dj≤K
的裂缝数量,以及这些裂缝宽度之和。
由于答案可能很大,输出时均对 998244353 取模。
输入格式
第一行包含两个整数 n,q。
第二行包含 n 个正整数 c1,c2,…,cn。
接下来 q 行,每行包含两个二进制字符串 L,R 和一个十进制整数 K,表示一次询问。
输入保证 L,R 不含前导 0,且其表示的整数 ℓ,r 满足 1≤ℓ≤r≤2n−1。
输出格式
对于每次询问,输出一行两个整数,分别表示满足条件的裂缝数量与裂缝宽度之和,均对 998244353 取模。
样例
样例输入 #1
4 4
2 5 1 4
1 1111 4
10 1000 9
100 1100 2
1001 1111 100
样例输出 #1
10 36
5 22
2 4
7 38
数据范围与约定
对于 100% 的数据,保证 1≤n,q≤2×105,1≤ci≤109,1≤K≤2×109,所有询问中 L,R 的长度之和不超过 6×105。
| 测试点编号 |
分值 |
n≤ |
q≤ |
二进制总长 ≤ |
特殊性质 |
| 1∼2 |
10 |
20 |
400 |
无 |
| 3∼5 |
15 |
200 |
5000 |
特殊性质 A |
| 6∼8 |
5000 |
5000 |
2×104 |
特殊性质 B |
| 9∼12 |
20 |
2×105 |
6×105 |
无 |
| 13∼20 |
40 |
2×105 |
- 特殊性质 A:保证每次询问均满足 L=R。
- 特殊性质 B:保证每次询问均满足 K≥2max{c1,c2,…,cn}。