AT_past202309_o.数列の足し算
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个长度为 N 的序列 A=(A1,A2,…,AN),以及一个长度为 K 的序列 P=(P1,P2,…,PK)。
现需要对序列 A 执行 Q 次操作。
- 第 q 次操作 (1≤q≤Q) 给出整数 lq,rq (1≤lq≤rq≤N),以及一个长度为 K 的序列 bq=(bq,1,bq,2,…,bq,K)。对于第 q 次操作,构造一个无限长的序列 B=(B1,B2,…),满足如下线性递推关系:
- Bj=bq,j (1≤j≤K)
- Bj=P1Bj−1+P2Bj−2+…+PKBj−K (j>K)
然后对于每个 i=1,2,…,rq−lq+1,令 Alq+i−1←Alq+i−1+Bi。
请你输出所有操作结束后,A 序列中的每一个元素对 998244353 取模后的值。
输入格式
输入由标准输入给出,格式如下:
N K Q A1 A2 … AN P1 P2 … PK l1 r1 B1,1 B1,2 … B1,K
⋮
lQ rQ bQ,1 bQ,2 … bQ,K
输出格式
输出所有操作执行完后 A 的每个元素对 998244353 取模后的值。
输入输出样例
输入#1
5 2 3 0 0 0 0 0 2 1 1 4 3 1 3 5 4 1 2 2 5 9
输出#1
3 6 9 12 6
输入#2
1 3 1 5 1 0 1 1 1 3 1 4
输出#2
8
输入#3
10 3 5 306334866 801978559 895954374 576826717 755317213 872021310 894146017 171871727 347837426 489203653 259995927 523608184 755770553 4 7 822177140 73169010 811074390 7 8 739309938 819084714 711663615 1 9 105947194 88003242 226522376 6 8 544083472 975159386 830222368 1 9 478160947 233931690 460328037
输出#3
890443007 125669138 584560434 427420890 15883850 302004751 273022029 711724605 576696309 489203653
说明/提示
样例解释 1
初始时,A=(0,0,0,0,0,0)。
- 第一次操作,B=(3,1,5,11,27,…)。操作后,A=(3,1,5,11,0,0)。
- 第二次操作,B=(4,1,6,13,32,…)。操作后,A=(3,1,9,12,6)。
- 第三次操作,B=(5,9,23,55,133,…)。操作后,A=(3,6,9,12,6)。
最终 A=(3,6,9,12,6)。
数据范围
- 1≤N,Q≤2×105
- 1≤K≤10
- 1≤lq≤rq≤N
- 0≤Ai,Pi,bq,i<998244353
- 所有输入值均为整数。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?