51nod 1537
证明好巧妙,给跪OTZ
题目的式子:$ {\left( {1{\rm{ + }}\sqrt 2 } \right)^{\rm{n}}} $,设其乘开之后为 $ {\rm{a + b}}\sqrt 2 $
考虑相对的式子:$ {\left( {1{\rm{ - }}\sqrt 2 } \right)^{\rm{n}}} $,则乘开后为 $ {\rm{a - b}}\sqrt 2 $
两式相乘,得到 $ {( - 1)^n} = {a^2} - 2{b^2} $
分奇偶讨论,如果n为偶数,则当 $ m = {a^2} $, $ m - 1 = {a^2} - 1 = 2{b^2} $,$ \sqrt m + \sqrt {m - 1} = a + b\sqrt 2 $
n为奇数时同理,当 $ m = {a^2} + 1 = 2{b^2} $, $ m - 1 = {a^2} $,$ \sqrt m + \sqrt {m - 1} = a + b\sqrt 2 $
所以,不存在无解状况。现在问题是怎么求a。如果打表找规律可以知道,n>=2时,a[n]=2*a[n-1]+a[n-2],初始值为a[1]=a[2]=1;
怎么证明呢?网上没看到有证明,所以自己胡扯一下吧。考虑我们已经有了 $ {\left( {1{\rm{ + }}\sqrt 2 } \right)^{n - 2}} = {a_1} + {b_1}\sqrt 2 $
那么 $ {\left( {1{\rm{ + }}\sqrt 2 } \right)^{n - 1}} = \left( {{a_1} + {b_1}\sqrt 2 } \right)\left( {1 + \sqrt 2 } \right) = {a_2} + {b_2}\sqrt 2 $
即 $ {a_2} = {a_1} + 2{b_1},{b_2} = {a_1} + {b_1} $
同理,可以推出 $ {a_3} = {a_2} + 2{b_2} $
带入a1,a2,可以得到 $ {a_3} = 3{a_1} + 4{b_1} = 2{a_1} + {a_2} $
所以满足上面的递推式。
然后矩阵快速幂搞一发就过啦!
51nod 1537的更多相关文章
- 【51Nod 1244】莫比乌斯函数之和
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1244 模板题... 杜教筛和基于质因子分解的筛法都写了一下模板. 杜教筛 ...
- 51Nod 1268 和为K的组合
51Nod 1268 和为K的组合 1268 和为K的组合 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 给出N个正整数组成的数组A,求能否从中选出若干个,使 ...
- 51Nod 1428 活动安排问题
51Nod 1428 活动安排问题 Link: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1428 1428 活 ...
- 51Nod 1278 相离的圆
51Nod 1278 相离的圆 Link: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1278 1278 相离的圆 基 ...
- 【51Nod 1501】【算法马拉松 19D】石头剪刀布威力加强版
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1501 dp求出环状不连续的前缀和,剩下东西都可以算出来,比较繁琐. 时间 ...
- 【51Nod 1622】【算法马拉松 19C】集合对
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1622 简单题..直接暴力快速幂 #include<cstdio&g ...
- 【51Nod 1616】【算法马拉松 19B】最小集合
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1616 这道题主要是查询一个数是不是原有集合的一个子集的所有数的gcd. ...
- 【51Nod 1674】【算法马拉松 19A】区间的价值 V2
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1674 对区间分治,统计\([l,r]\)中经过mid的区间的答案. 我的 ...
- bzoj 1537: [POI2005]Aut- The Bus 线段树
bzoj 1537: [POI2005]Aut- The Bus 先把坐标离散化 设f[i][j]表示从(1,1)走到(i,j)的最优解 这样直接dp::: f[i][j] = max{f[i-1][ ...
随机推荐
- 【重点突破】——SVG技术动态随机绘制圆形
一.引言 在学习Canvas绘图技术时,做的是随机验证码的例子,在学习SVG绘图技术时,同样也有一个随机绘制的例子——动态随机绘制圆形.这个练习,即综合了多种SVG技术的知识点,又很具有艺术感,随机生 ...
- oracle软件安装完毕之后,如何创建数据库
oracle软件安装完毕之后,如何创建数据库 学习了:https://zhidao.baidu.com/question/1800966379896476147.html 使用了Database Co ...
- CentOS-7 在windows server 2012下的虚拟机安装教程
CentOS-7 在windows server 2012下的虚拟机安装教程 一.下载 CentOS-7-x86_64-DVD-1611.iso https://mirrors.aliyun.com/ ...
- 一次JVM调优的笔记
1. JVM Tuning基础知识 1.1 Java堆结构 Java堆可以处于物理上不连续的内存空间上,只要逻辑上是连续的即可.Java堆就是各种对象分配和保存的内存空间,线程间共享.Java堆分为E ...
- scramble-string——两个字符串经过树化并旋转后是否一致、递归、动态规划
Given a string s1, we may represent it as a binary tree by partitioning it to two non-empty substrin ...
- JavaScript 文件操作方法详解
可以通过浏览器在访问者的硬盘上创建文件,因为我开始试了一下真的可以,不信你把下面这段代码COPY到一个HTML文件当中再运行一下! <script language="JavaScri ...
- linux安装svn客户端subversion及使用方法
1.下载 [maintain@HM16-213 software]$ wget http://subversion.tigris.org/downloads/subversion-deps-1.6.1 ...
- Hadoop起源
本文来自Doug Cutting为<Hadoop权威指南>所作之序,感觉读一下还是挺有收获的. Hadoop 起源于Nutch项目.我们几个人有一段时间一直在尝试构建一个开源的Web搜索引 ...
- php中的字符串和正則表達式
一.字符串类型的特点 1.PHP是弱类型语言,其它数据类型一般都能够直接应用于字符串函数操作. 1: <? php 2: echo substr("123456",2,4); ...
- Spring、Hibernate 数据不能插入到数据库问题解决
1.问题:在使用Spring.Hibernate开发的数据库应用中,发现不管如何,数据都插不到数据库. 可是程序不报错.能查询到,也能插入. 2.分析:Hibernate设置了自己主动提交仍然无论用, ...