【BZOJ3328】PYXFIB(数学)】的更多相关文章

题意:求 \[ \sum_{i=0}^n[k|i]\binom{n}{i}Fib(i) \] 斐波那契数列有简单的矩阵上的通项公式\(Fib(n)=A^n_{1,1}\).代入得 \[ =\sum_{i=0}^n[k|i]\binom{n}{i}A^i_{1,1} \] 由单位根反演, \[ =\sum_{i=0}^n\frac{1}{k}\sum_{j=0}^{k-1}w_k^{ij}\binom{n}{i}A^i_{1,1} \] 注意到后面多项与\(i\)有关,考虑将\(i\)贬到后面去.…
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3328 题解:关键在于只处理i%k的项,那么我们就需要用一个式子来表达这个东西. p%k==1.会让我们想到NTT的w=power(g,(p-1)/k).而w的性质就是w^i=1%p当且仅当i%k=0.g是p的一个原根. 所以sigma(w^i)(0<=i<k)=0 然后我们构造一个A[x]=x^(-n)*(I*x+T)^n  其中I是单位矩阵,T是fib矩阵. 然后做A[W^0],A[W^…
题面 传送门 题解 我们设\(A=\begin{bmatrix}1 & 1 \\ 1 & 0\end{bmatrix}\),那么\(A^n\)的左上角就是\(F\)的第\(n\)项 所以我们现在转化为求 \[\sum_{i=0}^n[k|i]{n\choose i}A^i\] 把\([k|i]\)单位根反演一下 \[ \begin{aligned} ans &=\sum_{i=0}^n[k|i]{n\choose i}A^i\\ &={1\over k}\sum_{i=0}…
题目链接 题目描述 略 Sol 考场上暴力 \(O(L)\) 50分真良心. 简单的推一下式子,对于一个 t 来说,答案就是: \[\sum_{i=0}^{L} [k|(i-t)] {L\choose i}F(i)\] 就是对于所有 mod k 的结果是 t 的 i 的后面那一坨东西的和. \(F(i)\) 表示走了 \(i\) 步从纵坐标 x 到纵坐标为 y 的方案数,这个东西显然非常好递推. 所以 \(O(L)\) 的暴力做法就直接递推组合数就行了. 然后是正解. \([k|(i-t)]\)…
什么都不会的数学蒻菜瑟瑟发抖--Orz橙子(和兔子) 题目: BZOJ3328 分析: 橙子给我安利的数学题--(然后我就看着他因为矩阵乘法多模了一次卡了一天常数qwq表示同情) 先考虑一个子问题:求下面这个式子的值: \[\sum_{i=0}^n C_n^i F_i\] 首先我们知道\(F_i=\left[\begin{matrix}1 & 1\\1 & 0\end{matrix}\right]^i\).设那个矩阵为\(A\),即\(F_i=A^i\).(注意这题斐波那契数列下标从\(0…
[BZOJ3328]PYXFIB Description Input 第一行一个正整数,表示数据组数据 ,接下来T行每行三个正整数N,K,P Output T行,每行输出一个整数,表示结果 Sample Input 1 1 2 3 Sample Output 1 HINT 题解:首先看到斐波那契数列我们肯定要想到矩阵乘法,但是给出的形式并不能直接求,我们试图将其转化为矩乘的形式. 如果不考虑k的话,我们可以设A表示斐波那契数列的转移矩阵,然后套用二项式定理(这显然对矩阵运算成立),得到$ans=…
[BZOJ3328]PYXFIB(单位根反演,矩阵快速幂) 题面 BZOJ 题解 首先要求的式子是:\(\displaystyle \sum_{i=0}^n [k|i]{n\choose i}f_i\). 斐波那契数列如果要快速算显然就只能对应着一个矩阵,所以我们就直接默认\(f_i\)是一个矩阵的形式. 如果没有\([k|i]\)这个东西这个玩意看着就很像一个二项式定义的展开. 实际上二项式定理对于矩阵而言显然是对的,不妨设斐波那契数列的转移矩阵是\(A\), 那么\(\displaystyl…
要弄清楚这个问题,我们得先认识一个人.古希腊大数学家 欧多克索斯,其在整个古代仅次于阿基米德,是一位天文学家.医生.几何学家.立法家和地理学家. 为何我们把 x²读作x平方呢? 古希腊时代,越来越多的无理数(不可公度比)的发现迫使希腊人不得不研究这些数.它们确实是数吗?它们出现于集合论证过程中,而整数和整数之比则既出现于几何也出现于一般的数量研究中.用于可公度的长度.面积和体积的几何证明,怎样才能推广用之于不可公度的这些量呢? 欧多克索斯引入了变量这个概念.量跟数不同,数是从一个跳到另一个,例如…
概述 平方根倒数速算法,是用于快速计算1/Sqrt(x)的值的一种算法,在这里x需取符合IEEE 754标准格式的32位正浮点数.让我们先来看这段代码: float Q_rsqrt( float number ) { long i; float x2, y; const float threehalfs = 1.5F; x2 = number * 0.5F; y = number; i = * ( long * ) &y; // evil floating point bit level hac…
$\color{green}{MarkDown+LaTex 数学内容编辑样例收集}$ 1.大小标题的居中,大小,颜色 [例1] $\color{Blue}{一元二次方程根的分布}$ $\color{Red}{题型一:求数列{a_n}的通项公式} $ $\color{red}{函数定义域}$ 2.常见的数学符号 [例2] 大于等于 \(\ge\):小于等于 \(\leq\):不等于\(\neq\):\(\Delta ABC\sim\Delta XYZ\):\(\triangle ABC\):角\(…