HDU4565-数学推导求递推公式+矩阵快速幂
题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=4565

我们带着这个根号是没法计算的
我们仔细观察一下,(a+sqrt(b))^n用二项式定理展开,我们发现只有sqrt(b)的奇数次方才是损失精度的小数部分
那么,一个启发式的方法是将这些小数部分消掉....
然后我们发现了(a-sqrt(b))^n,用二项式定理展开
(a+sqrt(b))^n+(a-sqrt(b))^n=sigma{2*C(n,i*2)*a^(n-2*i)*b^(2*i)}
我们恰好发现了
sqrt(b)是>a-1 <a
a-sqrt(b)是0~1 大于0
一个小数+一个0~1的正数,等于一坨整数的和
那说明其实这就是上取整的操作
因此我们得到Kn=(a+sqrt(b))^n+(a-sqrt(b))^n
如何推出Kn和Kn-1,Kn-2的关系呢?
一个套路是这样,分别先写出来,然后上下比一下,右边出来一个系数,把分母乘过去
然后你得到一个Kn,Kn-1的关系式
然后你根据这个关系式,再写一个Kn-1和Kn-2的关系式,把上面的套路重复一遍,然后
你得到Kn,Kn-1,Kn-2的关系式
为了书写简便,记b为sqrt(b),而不是下图的b=sqrt(b)
具体推导过程如下

此时跑一个矩阵快速幂即可
HDU4565-数学推导求递推公式+矩阵快速幂的更多相关文章
- 【XSY2612】Comb Avoiding Trees 生成函数 多项式求逆 矩阵快速幂
		
题目大意 本题的满二叉树定义为:不存在只有一个儿子的节点的二叉树. 定义一棵满二叉树\(A\)包含满二叉树\(B\)当且经当\(A\)可以通过下列三种操作变成\(B\): 把一个节点的两个儿子同时删掉 ...
 - bzoj 2326: [HNOI2011]数学作业【dp+矩阵快速幂】
		
矩阵乘法一般不满足交换律!!所以快速幂里需要注意乘的顺序!! 其实不难,设f[i]为i的答案,那么f[i]=(f[i-1]w[i]+i)%mod,w[i]是1e(i的位数),这个很容易写成矩阵的形式, ...
 - POJ3744Scout YYF I(求概率 + 矩阵快速幂)
		
Scout YYF I Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6757 Accepted: 1960 Descr ...
 - Just Oj 2017C语言程序设计竞赛高级组A: 求近似值(矩阵快速幂)
		
A: 求近似值 时间限制: 1 s 内存限制: 128 MB 提交 我的状态 题目描述 求⌊(5–√+6–√)2n⌋⌊(5+6)2n⌋%9932017. 例如:n=1,(5–√+6–√)2( ...
 - HDU 3221 矩阵快速幂+欧拉函数+降幂公式降幂
		
装载自:http://www.cnblogs.com/183zyz/archive/2012/05/11/2495401.html 题目让求一个函数调用了多少次.公式比较好推.f[n] = f[n-1 ...
 - 2019牛客多校第五场 B - generator 1 矩阵快速幂+十倍增+二进制倍增优化
		
B - generator 1 题意 给你\(x_{0}.x_{1}.a.b.b.mod\),根据\(x_{i} = a*x_{i-1} + b*x_{i-2}\)求出\(x_{n}\) 思路 一般看 ...
 - [ An Ac a Day ^_^ ] hdu 4565 数学推导+矩阵快速幂
		
从今天开始就有各站网络赛了 今天是ccpc全国赛的网络赛 希望一切顺利 可以去一次吉大 希望还能去一次大连 题意: 很明确是让你求Sn=[a+sqrt(b)^n]%m 思路: 一开始以为是水题 暴力了 ...
 - HDU2256&&HDU4565:给一个式子的求第n项的矩阵快速幂
		
HDU2256 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2256 题意:求(sqrt(2)+sqrt(3))^2n%1024是多少. 这个题算是h ...
 - LightOJ 1070 Algebraic Problem:矩阵快速幂 + 数学推导
		
题目链接:http://lightoj.com/volume_showproblem.php?problem=1070 题意: 给你a+b和ab的值,给定一个n,让你求a^n + b^n的值(MOD ...
 
随机推荐
- Angular入门到精通系列教程(13)- 路由守卫(Route Guards)
			
1. 摘要 2. 路由守卫(Route Guards) 2.1. 创建路由守卫 2.2. 控制路由是否可以激活 2.3. 控制路由是否退出(离开) 3. 总结 环境: Angular CLI: 11. ...
 - 什么是Etcd,如何运维Etcd ?
			
介绍 ETCD 是一个分布式.可靠的 key-value 存储的分布式系统,用于存储分布式系统中的关键数据:当然,它不仅仅用于存储,还提供配置共享及服务发现:基于Go语言实现. ETCD的特点 简单: ...
 - JavaFx ObservableList的使用详解
			
原文地址:JavaFx ObservableList的使用详解 | Stars-One的杂货小窝 最近在研究MVVM模式,发现可以将之前写的FxRecyclerView控件改造一下,便是开始尝试,尝试 ...
 - SELECT ... FOR UPDATE or SELECT ... FOR SHARE   Locking Reads   session
			
小结: 1.注意使用限制 Locking reads are only possible when autocommit is disabled (either by beginning transa ...
 - is_callable Callbacks / Callables  What is a “callable”?   可调用  回调函数
			
PHP: Callback / Callable 类型 - Manual https://www.php.net/manual/zh/language.types.callable.php Callb ...
 - loj10009钓鱼___vector的调试
			
题目描述 在一条水平路边,有 n 个钓鱼湖,从左到右编号为1,2,...,n .佳佳有 h 个小时的空余时间,他希望利用这个时间钓到更多的鱼.他从1 出发,向右走,有选择的在一些湖边停留一定的时间( ...
 - WireGuard 教程:使用 DNS-SD 进行 NAT-to-NAT 穿透
			
原文链接:https://fuckcloudnative.io/posts/wireguard-endpoint-discovery-nat-traversal/ WireGuard 是由 Jason ...
 - MySql(三)存储过程和函数
			
MySql(三)存储过程和函数 一.什么是存储过程和函数 二.存储过程和函数的相关操作 一.什么是存储过程和函数 存储过程和函数是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程和函数 ...
 - jQuery——开发插件
			
当我们编写的代码可以供其他人甚至我们自己重用的时候,可以通过将这些代码打包成一个新插件. ###**在插件中使用别名∗∗自定义的插件就应该始终都使用jQuery这个名字来调用jQuery方法,或者也可 ...
 - Spring Boot的进阶和高级
			
一.Repository接口 二.Repository子接口 三.@Query注解 四.更新及删除操作整合事物 五.CrudRepository接口 六.PagingAndSortingReposit ...