AT_utpc2021_k.Divide Polynomials by #Subset Sums
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
设定素数 P=998244353。对于一个多项式 f(x),我们定义以下操作:
- 选择一个正整数 k 和一个有限次非零多项式 g(x),使得 f(x) 和 (1+xk)g(x) 在每个次数上的系数对 P 取模后相等。
- 将 f(x) 替换为 g(x),并获得一个得分 2k。
多项式可以进行任意多次这样的操作,求总得分的最大值,这个值被定义为多项式的 美。
给定一个数列 A=(A0,…,AN−1),以及 Q 个查询。
对于第 i 个查询,给定整数 li,ri,你需要计算多项式 f(x)=j=0∑ri−liAj+lixj 的 美,并输出结果对 P 取模后的值。
注意,所有操作中,g(x) 的系数必须是小于 998244353 的非负整数。
输入格式
标准输入按以下格式给出:
N Q A0 … AN−1 l1 r1 ⋮ lQ rQ
输出格式
请输出 Q 行。
对于每个查询 i (1≤i≤Q),在第 i 行输出查询的答案。
输入输出样例
输入#1
6 3 1 2 1 1 1 1 0 2 2 5 2 4
输出#1
4 6 0
输入#2
11 2 1 1 0 0 0 0 0 0 0 1 1 0 10 4 5
输出#2
514 0
说明/提示
- 所有输入都为整数。
- 2≤N≤2000
- 1≤Q≤2000
- 0≤Ai<998244353
- 0≤li<ri≤N
样例解释 1
针对第一个查询,f(x)=1+2x+x2,最优策略是选择 k=1 两次。对于第二个查询,f(x)=1+x+x2+x3,最佳选择是先选择 k=1,再选择 k=2。对于第三个查询,f(x)=1+x+x2,无法进行任何操作。
样例解释 2
在第一个查询中,处理 f(x)=1+x+x9+x10 的 美;在第二个查询中,计算 f(x)=0 的 美。
本翻译由 AI 自动生成
输入解题思路,AI测评打分。不知道怎么写?