洛谷——P1775 古代人的难题_NOI导刊2010提高(02) P1936 水晶灯火灵(斐波那契数列)...
P1775 古代人的难题_NOI导刊2010提高(02)
P1936 水晶灯火灵
斐波那契数列
1.x,y∈[1…k],且x,y,k∈Z
2.(x^2-xy-y^2)^2=1
给你一个整数k,求一组满足上述条件的x,y并且使得x^2+y^2的值最大。
小FF得到答案后,用石笔将答案书写在羊皮纸上,那么就能到达王室的遗产所在地了。
证明可直接转%%大佬博客%%
化简式子:
$(x^2-xy-y^2)^2=1$
$(y^2+xy-x^2)^2=1$
$((x+y)^2+xy+2*x^2)^2=1$
$((x+y)^2+(x+y)*x+x^2)^2=1$
斐波那契数列的性质之一:
${f_n}^2-f_{n-1}*f_{n+1}=-1^{n-1}$
把$f_{n+1}$替换成$f_n+f_{n-1}$
${f_n}^2-f_{n}*f_{n-1}-{f_{n-1}}^2=-1^{n-1}$
然后就发现这两个式子很像
我们要求$x^2+y^2$的最大值。
就是求${f[n]}^2+{f[n-1]}^2$的最大值。
#include<iostream> #include<cstdio>#define N 10000 #define LL long long using namespace std;LL f[N],n;int main() {scanf("%lld",&n);f[0]=f[1]=1;for(int i=2;;i++){f[i]=f[i-1]+f[i-2];if(f[i]>n){printf("%lld %lld\n",f[i-1],f[i-2]);return 0;}}return 0; }
转载于:https://www.cnblogs.com/song-/p/9767742.html
洛谷——P1775 古代人的难题_NOI导刊2010提高(02) P1936 水晶灯火灵(斐波那契数列)...相关推荐
- 洛谷—— P1775 古代人的难题_NOI导刊2010提高(02)
P1775 古代人的难题_NOI导刊2010提高(02) 题目描述 门打开了,里面果然是个很大的厅堂.但可惜厅堂内除了中央的一张羊皮纸和一支精致的石笔,周围几具骷髅外什么也没有.难道这就是王室的遗产? ...
- 洛谷P1936 水晶灯火灵 P1775 古代人的难题_NOI导刊2010提高(02)【重题请做P1936】...
首先我要说明,此题(古代人的难题)与水晶灯火灵是一模一样的! 古代人的难题 (File IO): input:puzzle.in output:puzzle.out 时间限制: 1000 ms 空间 ...
- 洛谷P1807 最长路_NOI导刊2010提高(07) 求有向无环图的 最长路 图论
洛谷P1807 最长路_NOI导刊2010提高(07) 图论 求有向无环图的 最长路 首先阐明一点 最长路dijkstra 是不能做 (当然我是不会做的,不过我貌似看到过网上的dalao有用dijst ...
- 图论--最长路--洛谷P1807 最长路_NOI导刊2010提高(07)
题目描述 设G为有n个顶点的有向无环图,G中各顶点的编号为1到n,且当为G中的一条边时有i < j.设w(i,j)为边的长度,请设计算法,计算图G中<1,n>间的最长路径. 输入格式 ...
- 洛谷 P1795 无穷的序列_NOI导刊2010提高(05)
P1795 无穷的序列_NOI导刊2010提高(05) 题目描述 有一个无穷序列如下: 110100100010000100000- 请你找出这个无穷序列中指定位置上的数字 输入输出格式 输入格式: ...
- 洛谷 P1796 汤姆斯的天堂梦_NOI导刊2010提高(05)
P1796 汤姆斯的天堂梦_NOI导刊2010提高(05) 题目描述 汤姆斯生活在一个等级为0的星球上.那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍.他向往着等级为N的星球上天堂般的 ...
- 方程的解_NOI导刊2010提高(01) 组合数
题目描述 佳佳碰到了一个难题,请你来帮忙解决. 对于不定方程a1+a2+-+ak-1+ak=g(x),其中k≥2且k∈N,x是正整数,g(x)=x^x mod 1000(即x^x除以1000的余数), ...
- P1801 黑匣子_NOI导刊2010提高(06)
P1801 黑匣子_NOI导刊2010提高(06) 题目描述 Black Box是一种原始的数据库.它可以储存一个整数数组,还有一个特别的变量i.最开始的时候Black Box是空的.而i等于0.这个 ...
- P1799 数列_NOI导刊2010提高(06)
P1799 数列_NOI导刊2010提高(06) f[i][j]表示前i个数删去j个数得到的最大价值. if(i-j==x) f[i][j]=max(f[i][j],f[i-1][j]+1); els ...
最新文章
- commander.js
- 【linux】Valgrind工具集详解(三):打印信息说明
- R语言实战应用精讲50篇(十四)-R语言构建层次分析模型
- oracle启动报参数不正确,【oracle】模拟故障 - 参数修改导致无法启动oracle
- 计算机考研英语词汇书,考研英语词汇参考书推荐
- 数据工作者的福音:Google 发布正式版数据搜索工具啦!
- 解决金蝶未检测到K/3许可文件,并且该账套已超过演示版期限问题
- 双网卡mode6模式 同时工作 冗余互备
- Java的数据类型转换
- 智慧机场室内导航系统-采用蓝牙定位方案-导乘整体解决方案
- 详细解析单片机控制继电器原理图以及其作用
- java通过poi生成excel并下载出现文件打不开、文件格式和文件扩展名无效问题的分析与解决
- 什么是项目管理中的里程碑?如何实践?
- 核密度聚类(一)核函数、核密度估计、核密度聚类
- java读取含有合并行的excel
- windows10批处理文件设置IP地址
- linux 32位和64位的区别 内存,32位、64位的区别
- Hydra 使用方法
- OPENCV之人眼检测
- linux midi端口,在Linux下使用MIDI软波表