递推
Frods
这个作者很懒,什么都没留下…
展开
-
keep on coding 8.26-3
3. 【问题描述】 数学题。 函数求值: 【输入格式】第一行一个整数 T,表示有 T 个询问。接下来 T 行,每行第一个数 n。 【输出格式】 T 行,每行表示第 i 个询问中 F(n)的值 【样例输入 1】 5 1 2 3 4 5 【样例输出 1】 1 3 7 11 21 解决本题基于三个定理: ①当a为质数时 f(a)=a*(a-1)+1; ②当a为质数时 f(a^2)=f原创 2016-08-27 21:09:34 · 593 阅读 · 0 评论 -
keep on coding 8.26^-^
1. 超级麻将 【题意描述】 所谓超级麻将没有了砣、索、万的区分,每种牌上的数字可以是 1~100,而每种数字的牌各有 100 张。另外特别自由的是,玩牌的人手里想拿多少张牌都可以,好刺激哦! 刺激归刺激,但是拿多了怎么胡牌呢? 超级麻将规定只要一个人手里拿的牌是若干句话(三个连续数字的牌各一张组成一句话,三张或者四张同样数字的牌也算一句话),再加上一对相同的牌,就算胡了。 【样例输入】原创 2016-08-27 21:25:08 · 712 阅读 · 0 评论 -
矩阵快速幂+递推
由题意易得递推式: f[i]=f[i-1]+f[i-2]*4+f[i-3]*2 其中长度为1的消除方法只有一种,长度为2的消除方法是4种(不包括与长度为1重复的一种),长度为三的消除方法一共有2种。 注意,f[0]=1。 但由于数据量巨大!!!(giant)我们想到了矩阵快速幂的优化。 下面一起来推一推: 用类似fibo原创 2016-08-28 21:03:02 · 614 阅读 · 0 评论 -
逆元 递推求逆元
其实有些题需要用到1-p模p的所有逆元,这里p为奇质数。那么如果用快速幂求时间复杂度为O(p log(p)), 如果对于一个1000000级别的素数,这样做的时间复杂度是很高了。实际上有的算法,有一个递推式如下inv[i]=(M-M/i)*inv[M%i]%M (其中M为模数,要求为奇质数) 它的推导过程如下:设t=M/i,k=M%i,那么 t*i+k≡0(Mod M) -t*i≡原创 2016-12-25 11:35:55 · 4581 阅读 · 1 评论