题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=5015 题解 设 \(f_i\) 表示第 \(i\) 个朋友的礼物,\(s_i\) 表示从 \(1\) 到 \(i\) 的 \(f_i\) 的和. \[ f_i = s_{i-1}+i^k\\s_i = s_{i-1}+f_i = 2s_{i-1}+i^k \] 考虑用矩阵维护转移,但是这个 \(i^k\) 不太方便转移. 发现 \(k \leq 10\),可以考虑使用二项式展开. \[ (i…
题意:已知斐波那契数列fib(i) , 给你n 和 k , 求∑fib(i)*ik (1<=i<=n) 思路:不得不说,这道题很有意思,首先我们根据以往得出的一个经验,当我们遇到 X^k 的形式,当 X 很大,k很小时,我们可以利用二项式定理进行展开,然后求出递推式在利用矩阵加速 推导过程: 已知 fib(1) = 1, fib(2) = 1,fib(i) = fib(i-1) + fib(i-2); Ai(k) =fib(i)*i^k; 根据数学归纳法,我们可知 fib(i+1)*(i+1)…
题意 顺次给出 $m$个置换,反复使用这 $m$ 个置换对一个长为 $n$ 初始序列进行操作,问 $k$ 次置换后的序列.$m<=10, k<2^31$. 题目链接 分析 对序列的置换可表示成乘上一个矩阵,例如 $$\begin{bmatrix}0 & 0 &  0& 0 & 0 & 1 & 0\\ 1 & 0 & 0 & 0 & 0 & 0 & 0\\ 0 & 0 & 1 &…
A Very Simple Problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 589    Accepted Submission(s): 305 Problem Description This is a very simple problem. Given three integers N, x, and M, you…
Recursive sequence Farmer John likes to play mathematics games with his N cows. Recently, they are attracted by recursive sequences. In each turn, the cows would stand in a line, while John writes two positive numbers a and b on a blackboard. And the…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6470 题意:求,直接矩阵快速幂得f(n)即可 构造矩阵如下: n^3是肯定得变换的,用二项式展开来一点点配吧 我们会发现中间6*6的矩阵是个常数矩阵,则可以化为A=B^(N-2)*C(n-2次幂是因为我们求解是从N=3开始的),根据矩阵快速幂算出B^(N-2)次幂即可以了 矩阵快速幂的时间复杂度是logn 注意:我们中间构造的矩阵必须是一个方阵,矩阵快速幂的难点就在于构建中间的方阵 比如矩阵A,B,…
[BZOJ3328]PYXFIB(单位根反演,矩阵快速幂) 题面 BZOJ 题解 首先要求的式子是:\(\displaystyle \sum_{i=0}^n [k|i]{n\choose i}f_i\). 斐波那契数列如果要快速算显然就只能对应着一个矩阵,所以我们就直接默认\(f_i\)是一个矩阵的形式. 如果没有\([k|i]\)这个东西这个玩意看着就很像一个二项式定义的展开. 实际上二项式定理对于矩阵而言显然是对的,不妨设斐波那契数列的转移矩阵是\(A\), 那么\(\displaystyl…
思想启发来自, 罗博士的根据递推公式构造系数矩阵用于快速幂 对于矩阵乘法和矩阵快速幂就不多重复了,网上很多博客都有讲解.主要来学习一下系数矩阵的构造 一开始,最一般的矩阵快速幂,要斐波那契数列Fn=Fn-1+Fn-2的第n项,想必都知道可以构造矩阵来转移 其中,前面那个矩阵就叫做系数矩阵(我比较喜欢叫转移矩阵) POJ3070 Fibonacci 可以试一试 #include<cstdio> typedef long long ll; ; struct Mar{ int r,c; ll a[]…
传送门:GTY's birthday gift 题意:GTY的朋友ZZF的生日要来了,GTY问他的基友送什么礼物比较好,他的一个基友说送一个可重集吧!于是GTY找到了一个可重集S,GTY能使用神犇魔法k次,每次可以向可重集中加入一个数 a+b(a,b∈S),现在GTY想最大化可重集的和,这个工作就交给你了. 注:可重集是指可以包含多个相同元素的集合 分析:想要和最大,那么每次必定从集合里面拿出最大的两个出来相加,然后k次后面就类似斐波那契数列了. 由斐波那契数列公式知:Fn=Fn-1+Fn-2,…
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4686 题目大意: 已知a0=A0, ai=Ax*ai-1+Ay; b0=B0, bi=Bx*bi-1+By; 求∑ai*bi(i=0-->n-1). n不超过1018,A0,Ax,Ay,B0,Bx,BY不超过2*109. 题目分析: 因为n很大,不可能用递推来做,这个时候就想到了矩阵的方法.构造了好几个满足要求的,但都是仅仅满足ai或者bi的,最后才发现,把ai*bi按递推式展开, ai*bi=A…