CFCF2159E.Super-Short-Polynomial-San
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
这个问题在一些国家可能非常有名,但如果没有人出这样的问题,其他国家的人又如何了解它们呢?
—— XXI Open Cup, Grand Prix of Tokyo
你将获得三个整数 a, b, c。
定义 F(n) 为次数为 2n 的如下多项式:
F(n)=(ax2+bx+c)n
你需要处理 q 次如下类型的询问:
- nk :请你计算 i=0∑k[xi]F(n) 的值,结果对 109+7 取模 ∗。
但如果题目就这样结束,可能对你来说太简单了。于是有了一个小小的变数†:你需要在线地处理这些询问。
∗ 其中 [xa]F(n) 表示 F(n) 的 xa 项的系数。
† 希望加上这个变数后对你来说不会太难。连小孩子都知道怎么做,只不过你要再把这个方法快上 8000000 倍。
输入格式
第一行包含三个整数 a、b、c,满足 1≤a,b,c≤109+6。
第二行包含一个整数 q,表示询问次数,1≤q≤3×105。
接下来 q 行,每行两个整数 ni′ 和 ki′,表示第 i 次询问的加密参数。
你需要按以下方式解密参数:
- 令第 i 次询问(答案对 109+7 取模)的答案为 ansi,其中 ans0=0。
- 第 i 次询问的 n 和 k 为 ni=ni′⊕ansi−1,ki=ki′⊕ansi−1,其中 0≤ni≤3×105,0≤ki≤2ni。
注意全部 ni 之和与 ki 之和均无上界。
输出格式
对于每个询问,输出一个整数,表示答案对 109+7 取模的结果,每个答案占一行。
输入输出样例
输入#1
3 2 1 11 0 0 0 1 0 0 2 1 4 6 3 0 7 7 13 12 25 31 31379 9237 396176013 396306657
输出#1
1 1 3 6 1 5 15 27 36 396240845 819003547
说明/提示
解密后的样例输入如下:
3 2 1
11
0 0
1 0
1 1
1 2
2 0
2 1
2 2
2 3
2 4
31415 9265
200000 69420
在 OEIS 上,该多项式 F(n) 可参见 A084608。不过不用去点那个链接,没什么特别有用的信息。相信我。