题目大意

给定斐波那契的第aaa项,求出第b" role="presentation">bbb项,默认第0项为1

解题思路

方法一:递推

找到规律后O(b)O(b)O(b)枚举

方法二:二分

首先我们可以想办法求出第一项,因为如果第一项越大,后面的数也就越大,换句话说,该数据具有单调性

好的,我们开始xjbxjbxjb推公式了

设第一项为xxx,则

0 1 2 3 4 5 6 7 8
1 x" role="presentation">xxx x+1x+1x+1 2x+12x+12x+1 3x+23x+23x+2 5x+35x+35x+3 8x+58x+58x+5 13x+813x+813x+8 21x+1321x+1321x+13

发现什么了吗?

没错,第xxx项可以通过公式计算,即

f[x]=fb[x]×p+fb[x−1]" role="presentation">f[x]=fb[x]×p+fb[x−1]f[x]=fb[x]×p+fb[x−1]

f[x]=fb[x]\times p+fb[x-1]

时间复杂度:O(logp)O(logp)O(logp)

方法三:找规律

通过推演可以发现,预处理了斐波那契数列后第bb<script type="math/tex" id="MathJax-Element-729">b</script>项的值是可以直接计算的,公式就放了,毕竟自己菜。

代码(方法二)

#include<cstdio>
#include<algorithm>
#define LL long long
using namespace std;LL f,ans,a,x,b,l,r,mid;char c;
const int fb[21]={0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765};
signed main()
{while(scanf("%lld%lld%lld",&a,&x,&b)==3)//输入{l=1;r=10000000;ans=0;while(l<=r)//查找p{mid=(l+r)>>1;if((LL)mid*fb[a]+fb[~-a]==(LL)x) {ans=mid;break;}if((LL)mid*fb[a]+fb[~-a]>(LL)x) r=mid-1;else l=mid+1;}if(!ans) printf("-1\n");elseprintf("%lld\n",ans*fb[b]+fb[~-b]);//输出}
}

【二分,找规律】Day 14 提高组模拟C组 T1 小麦亩产一千八相关推荐

  1. JZOJ6月20日提高组T1 小麦亩产一千八

    JZOJ6月20日提高组T1 小麦亩产一千八 题目 Description Input Output Sample Input Data Constraint 分析 Code 题目 Descripti ...

  2. JZOJ 3461. 【NOIP2013模拟联考5】小麦亩产一千八(kela)

    3461. [NOIP2013模拟联考5]小麦亩产一千八(kela) (Standard IO) Time Limits: 1000 ms  Memory Limits: 262144 KB  Det ...

  3. 【NOIP2013模拟联考5】小麦亩产一千八(kela) (Standard IO)

    Description "有了金坷垃,肥料一袋能顶两袋撒,小麦亩产一千八,吸收两米下的氮磷钾--",话说HYSBZ(Hengyang School for Boys & Z ...

  4. jzoj 3461. 【NOIP2013模拟联考5】小麦亩产一千八(math)

    3461. [NOIP2013模拟联考5]小麦亩产一千八 Description "有了金坷垃,肥料一袋能顶两袋撒,小麦亩产一千八,吸收两米下的氮磷钾--",话说HYSBZ(Hen ...

  5. [jzoj 3461]【NOIP2013模拟联考5】小麦亩产一千八 {Fibonacci数列}

    题目 Description "有了金坷垃,肥料一袋能顶两袋撒,小麦亩产一千八,吸收两米下的氮磷钾--",话说HYSBZ(Hengyang School for Boys & ...

  6. 【NOIP2013模拟联考5】小麦亩产一千八题解

    Description "有了金坷垃,肥料一袋能顶两袋撒,小麦亩产一千八,吸收两米下的氮磷钾--",话说HYSBZ(Hengyang School for Boys & Z ...

  7. JZOJ_7.19C组第一题 小麦亩产一千八

    题意 给出一个棋盘,第0个格子放1粒小麦,第1个格子放p粒小麦,第2个格子放之前两个格子总和的小麦.现在给出第a个格子的小麦粒数x,求出第b个格子的小麦粒数. 思路 我们按照题意可以得出第0个格子的小 ...

  8. HDU 6304 Chiaki Sequence Revisited(二分+找规律)

    题目链接 Chiaki Sequence Revisited Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K ...

  9. Common Number(奇偶二分+找规律)

    题意:给定函数f(x),x为偶数时f(x)=x/2,x为奇数时f(x)=x-1 给定n,k,对1到n每个数求f(x)的轨迹,如path[15]={15,14,7,6,3,2,1},求在所有轨迹里出现次 ...

最新文章

  1. 【面试精选】关于大型网站系统架构你不得不懂的10个问题
  2. 超详细:常用的设计模式汇总
  3. CTF-杂项16进制字符串类型的题目
  4. 科大星云诗社动态20210221
  5. spring cloud 路由
  6. 室内空气流动原理图_新风系统的工作原理是什么 新风系统各部件的用途
  7. Linux内核开发:创建proc文件并与用户空间接口
  8. ABC类网络个数的算法
  9. 疯狂java讲义第六章课后习题答案
  10. unity -- 存档与读档
  11. 为一个理想而奋斗一生
  12. 推荐系统中的常用算法——基于Session的推荐
  13. 2021-04-01
  14. CAD导入卫星地图几种方式
  15. 如何将CAD图块转换成外部参照?
  16. 嵌入式系统设计与制作报告
  17. 怎么用计算机做目录,word怎么生成目录,教您Word文档如何自动生成目录
  18. 迅为4412开发板QtE4.7和Qtopia的切换
  19. 华为和H3C--VRP基础和基本的操作
  20. 计算机鼓轮原理,数码裂隙灯显微镜光学系统的设计与实现

热门文章

  1. ckeditor KindEditor eWebEditor WQeditor FreeTextbox Tinymce 几款在线编辑器的比较(附各版本demo下载地址)
  2. 前端 | Chrome打不开HTTPS个人网站的解决办法
  3. 论文查重:降低重复率技巧
  4. 完全重新安装IIS7
  5. 中国移动MM7 API用户手册(四)
  6. 互联网校招(入门向)
  7. php intval 四舍五入,PHP与JS---取整数方法int,celi,floor,round 收藏
  8. 设置长方体的长宽高;求长方体的体积和底面积
  9. SAP系统的开发语言--ABAP简介
  10. iPhone 输入正确密码,但提示不正确怎么办?