2023寒假集训-进阶训练赛(二) 问题 M: 等差数列求和-矩阵快速幂

题目描述

几乎所有的教官都会高估学生的体质,低估学生的智力。
就拿等差数列来打个比方吧!
给定一个长度为 K,首项为A,公差为B的等差数列 S,然后……把这K个数从小到大拼接到一起,形成一个新的数N,求N%M的值。
就比如长度K=4,首项A=5,公差B=7的等差序列, 即5,12,19,26。那么N=5121926。
 

输入

1≤K,A,B<1018
2≤M<109
等差数列中的所有项都小于10^18
N%M的值
 
好题 
对于长度相同的数,假设长度为l , 现在我们假设已经处理好了所有长度比l小的数字的组合之后的取模的答案为ans ,设数列的项为si
所以 每次更新答案都是 ans*l+si , si+b 
每次都是做这样一个重复的操作 !!!
所以可以想到用矩阵快速幂 构造一个矩阵 然后直接快速幂加速计算即可 
posted @ 2023-02-20 11:25  Vellichor_zht  阅读(56)  评论(0)    收藏  举报