[省选] [线段树] [矩阵快速幂] [HLOI2016] 序列问题
来源:互联网 发布:淘宝切图模块切图失败 编辑:程序博客网 时间:2024/05/02 02:51
问题描述 Description
现定义序列它的第
i 项为:定义Fi=Si−1∗Fi−1+Si−2∗Fi−2 F0=0 以及F1=1
其中,S 是一个无限长的,几乎循环的一个数字序列,它的循环节长度为N ,也就是说,通常会有Si=SimodN 。但是S 中也存在少数元素并不符合这个循环节,也就是说,会有若干个元素,Si≠SimodN 。
现在给出序列S 的循环节,以及S 中不符合循环的位置以及值,求FkmodP 。
输入 Input
输入文件的第一行有两个整数
K 和P 。
第二行是一个整数N 。
第三行包含N 个正整数,表示循环节中所有的数字。
接下来一行是一个整数M 。接下来的M 行,每行包含两个整数x 和y ,表示在序列S 中不符合循环节的位置以及相应位置上的值,即Sx=y 。
输出 Output
输出文件包含一个整数,即相应输入文件的答案。
样例输入 Sample Input
42 1248493
5
5 2 4 1 6
5
9 3
8 4
21 21
10 18
24 10
样例输出 Sample Output
232959
限制 Limits
对于30%的数据:
0≤k≤10000,1≤n≤1000,1≤M≤20 ;
对于70%的数据:0≤k≤1018,1≤n≤1000,1≤M≤20 ;
对于100%的数据:0≤k≤1018,1≤n,m≤5×104,1≤p≤109,1≤Si≤109,n≤x≤1018,1≤y≤109 。
Time Limit :2s & Memory Limit :128MB
一看
一看递推关系矩阵逃不掉了……
所以矩阵快速幂逃不掉了。 MDZZ怎么搞矩阵?
这回在化学课上推公式……
看出什么来了吗?
可以看出这个
假如能搞出一个矩阵的话,可以借鉴分块思想,将一个循环节看成一个块,将整个块内的值求出后,跑矩阵快速幂,之后零散部分暴力。
可是有修改……
就将修改看成断点,假如断点处于同一块内,暴力即可,如果不在,零散暴力,整块快速幂。
时间为
这样可以过
时间为
所以,怎么构造矩阵?
还是两个矩阵,一个是处理影响的,一个是统计答案的。
统计答案的矩阵是一个
当然也可以写成
处理影响的矩阵是一个
遇到断点答案矩阵暴力乘矩阵即可,此矩阵为:
其中
这还没完,因为矩阵与
这样就可以了
还有一些
Code
0 0
- [省选] [线段树] [矩阵快速幂] [HLOI2016] 序列问题
- [省选] [线段树] [HLOI2016] 字符串问题
- [省选] [最小生成树] [HLOI2016] 农场修路
- 线段树+矩阵快速幂 codeforces718C Sasha and Array
- codeforces #373(div 2) E (线段树+矩阵快速幂)
- NOIP模拟题 [线段树][矩阵快速幂]
- CodeForces 575 A.Fibonotci(矩阵快速幂+线段树)
- HAUToj 1284: SP教数学 (线段树+矩阵快速幂
- hdu 6155 线段树加矩阵快速幂
- [省选] [线段树] [DFS序] [矩阵快速幂] HLOI 2015 Tree
- Codeforces Round #373 (Div. 1)C(线段树维护矩阵,矩阵快速幂)
- 【矩阵乘法+快速幂】数学序列
- [省选] [BFS] [HLOI2016] 黑白棋
- [bzoj 4540] [Hnoi2016]序列:离线,线段树,矩阵乘法
- [Codeforces 719 E. Sasha and Array] 矩阵快速幂+线段树
- CodeForces-719E Sasha and Array(线段树+矩阵快速幂)
- 【CodeForces 719E】【线段树+矩阵快速幂】 Sasha and Array
- CodeForces 719E Sasha and Array 【线段树】【快速矩阵幂】
- 初学大数据之Pycharm常用的快捷键总结
- 1024. Palindromic Number
- MIT单变量微积分: 指数与对数函数导数、对数微分法
- POJ 3548 Restoring the digits 可能会
- 简单行人疏散 Java版
- [省选] [线段树] [矩阵快速幂] [HLOI2016] 序列问题
- Source Insight基本使用和快捷键
- 直播技术总结(二)ijkplayer的编译到Android平台并测试解码库
- 寒假在实验吧上的学习总结
- 变量
- 体验套餐系统
- ctf入门题之关卡一
- 华为荣耀畅玩5C NEM-UL10 ROOT那些事儿(亲测成功)
- Spark-SQL 之DataFrame操作大全