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)]\)…
[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…
什么都不会的数学蒻菜瑟瑟发抖--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…
3328: PYXFIB Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 130  Solved: 41[Submit][Status][Discuss] Description Input 第一行一个正整数,表示数据组数据 ,接下来T行 每行三个正整数N,K,P Output T行,每行输出一个整数,表示结果 Sample Input 1 1 2 3 Sample Output 1 HINT Source 思路与莫比乌斯反演相似,通过二项式巧妙地…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3328 单位根反演,主要用到了 \( [k|n] = \frac{1}{k} \sum\limits_{i=0}{k-1} w_{k}^{in} \)推导见:https://www.cnblogs.com/galaxies/p/bzoj3328.html构造 \( F(x) \) 是为了凑成二项式定理的形式,其实也不难想:又忘记在定义构造函数时写 N 了!把 =N(...) 写成 =(...…
BZOJ 3328: PYXFIB 题意 给定\(n,p,k(1\le n\le 10^{18},1\le k\le 20000,1\le p\le 10^9,p \ is \ prime,k|(p-1))\),求 \[ \sum_{i=0}^{\lfloor\frac{n}{k}\rfloor}\binom{n}{ik}F_{ik} \] 其中\(F_{i}\)代表斐波那契数列的第\(i\)项. 首先分析一波题目条件,有个很奇怪的条件\(k|\varphi(p)\) 如果对NTT或者单位根有所…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3328 单位根反演主要就是有 \( [k|n] = \frac{1}{k}\sum\limits_{i=0}^{k-1}w_{k}^{i*n} \) 如果 k | n ,转 n 下就会是 1 :不然用等比数列求和公式可知是 0 . 一般是构造一个 \( f(x) = ( 1+x )^n \) 之类的,来求含有组合数的式子.比如 \( \sum\limits_{i=0}^{n}C_{n}^{i…
Discription Input 第一行一个正整数,表示数据组数据 ,接下来T行每行三个正整数N,K,P Output T行,每行输出一个整数,表示结果 Sample Input 1 1 2 3 Sample Output 1 Hint 上个周学的一个 dark技巧: 利用单位根来 求一个多项式某个数倍数次数的项的系数和. 首先设 w[k] 为 复数域下的k次单位根,那么它满足的一个性质是: 当且仅当 k|i 的时候 ,w[k]^i = 1:其他时候都不为1. 这个有什么用处呢??? 假设我们…
如果写过 LJJ 学二项式那道题的话这道题就不难了. #include <bits/stdc++.h> #define ll long long #define setIO(s) freopen(s".in","r",stdin),freopen(s".out","w",stdout) using namespace std; int K,bu[10000],G; ll Mod,N; struct M { ll a…
我这种数学一窍不通的菜鸡终于开始学多项式全家桶了-- 必须要会的前置技能:FFT(不会?戳我:[知识总结]快速傅里叶变换(FFT)) 以下无特殊说明的情况下,多项式的长度指多项式最高次项的次数加\(1\) 一.NTT 跟FFT功能差不多,只是把复数域变成了模域(计算复数系数多项式相乘变成计算在模意义下整数系数多项式相乘).你看FFT里的单位圆是循环的,模一个质数也是循环的嘛qwq.\(n\)次单位根\(w_n\)怎么搞?看这里:[BZOJ3328]PYXFIB(数学)(内含相关证明.只看与原根和…
数论ex 数学学得太差了补补知识点or复习 Miller-Rabin 和 Pollard Rho Miller-Rabin 前置知识: 费马小定理 \[ a^{p-1}\equiv 1\pmod p,p \ is \ prime \] 二次探测(mod奇素数下1的二次剩余) \[ x^2\equiv 1\pmod p\Rightarrow x=1 \ or \ p-1 \] 如果不是 \(\bmod\) 奇素数,二次剩余可能是更多的值 如果把费马小定理反过来用来检测一个数是否是素数,虽然是错的,…
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem 10983 18765 Y 1036 [ZJOI2008]树的统计Count 5293 13132 Y 1588 [HNOI2002]营业额统计 5056 13607 1001 [BeiJing2006]狼抓兔子 4526 18386 Y 2002 [Hnoi2010]Bounce 弹飞绵羊 43…