#P6358. 鬼故事 加强版

    ID: 5349 远端评测题 500ms 256MiB 尝试: 0 已通过: 0 难度: 9 上传者: 标签>数学递推倍增O2优化快速傅里叶变换 FFT

鬼故事 加强版

Description

原题链接

给定 l,r,kl,r,k,求:

i=lrj=ii+k1fj\sum_{i=l}^r \prod_{j=i}^{i+k-1}f_j

其中 f0=0f_0= 0f1=1f_1 = 1fn=fn1+fn2 (n2)f_n = f_{n-1}+f_{n-2} \ (n \geq 2)
作为良心(迫真)出题人,你只需要将答案对 998244353998244353 取模。

Input Format

输入一行三个正整数 l,r,kl,r,k

Output Format

输出一行一个整数,表示答案。

233 888 251
60539267
11451 45149 8100
728539702
114514 233333 101010
830578369
198245 285628 157293
121742791

Hint

【数据范围】
对于 30%30\% 的数据,1k10001\le k \le 1000
对于 70%70\% 的数据,1k1051\le k \le 10^5
对于 100%100\% 的数据,1k5×1051\le k \le 5 \times 10^51lr10181\le l \le r \le 10^{18}

请注意常数优化。

由于 l,rl,r 开到高精度范围也没什么意义,因此这里就改为 101810^{18} 了。