由于是斐波那契数列,所以$x_i+x_j<=x_k,i<j<k$

所以猜测可以贪心选择两边近的数处理。

 1 #include<cstdio>
 2 #include<algorithm>
 3 #define ll long long
 4 #define mid (l+r>>1)
 5 using namespace std;
 6 ll f[505],tot=1;
 7 inline ll findl(ll x)
 8 {
 9     int l=1,r=tot,ans=1;
10     while(l<=r)
11     {
12         if(f[mid]<=x)ans=mid,l=mid+1;
13         else r=mid-1;
14     }
15     return f[ans];
16 }
17 inline ll findr(ll x)
18 {
19     int l=1,r=tot,ans=1;
20     while(l<=r)
21     {
22         if(f[mid]>=x)ans=mid,r=mid-1;
23         else l=mid+1;
24     }
25     return f[ans];
26 }
27 int solve(ll x)
28 {
29     ll l=findl(x),r=findr(x);
30     if(l==r)return 1;
31     if(x-l<=r-x)return solve(x-l)+1;
32     return solve(r-x)+1;
33 }
34 int main()
35 {
36     f[0]=f[1]=1;
37     while(f[tot-1]<=4e17)
38     f[++tot]=f[tot-1]+f[tot-2];
39     int t;scanf("%d",&t);
40     ll x;
41     while(t--)scanf("%lld",&x),
42     printf("%d\n",solve(x));
43 }

View Code

转载于:https://www.cnblogs.com/xuruifan/p/5191205.html

[BZOJ2796][Poi2012]Fibonacci Representation相关推荐

  1. 洛谷 P3539 [POI2012]ROZ-Fibonacci Representation 解题报告

    P3539 [POI2012]ROZ-Fibonacci Representation 题意:给一个数,问最少可以用几个斐波那契数加加减减凑出来 多组数据10 数据范围1e17 第一次瞬间yy出做法, ...

  2. [颓废史]蒟蒻的刷题记录

    QAQ蒟蒻一枚,其实我就是来提供水题库的. 以下记录从2016年开始. 1.1 1227: [SDOI2009]虔诚的墓主人 树状数组+离散化 3132: 上帝造题的七分钟 树状数组 二维区间加减+查 ...

  3. python中继承是什么意思,解释一下python中的继承

    java设计模式之观察者模式 观察者模式 观察者模式(有时又被称为发布(publish )-订阅(Subscribe)模式.模型-视图(View)模式.源-收听者(Listener)模式或从属者模式) ...

  4. Noip前的大抱佛脚----赛前任务

    赛前任务 tags:任务清单 前言 现在xzy太弱了,而且他最近越来越弱了,天天被爆踩,天天被爆踩 题单不会在作业部落发布,所以可(yi)能(ding)会不及时更新 省选前的练习莫名其妙地成为了Noi ...

  5. Graph Representation 图神经网络

    Graph Representation 图神经网络 图表示学习(representation learning)--图神经网络框架,主要涉及PyG.DGL.Euler.NeuGraph和AliGra ...

  6. MLIR(Multi-Level Intermediate Representation Compiler)架构 Infrastructure

    MLIR(Multi-Level Intermediate Representation Compiler)架构 Infrastructure Overview • Context • About M ...

  7. Fibonacci数列的java实现

    关于Fibonacci应该都比较熟悉,0,1,1,2,3..... 基本公式为f(n) = f(n-1) + f(n-2); f(0) = 0; f(1) =1; 方法1:可以运用迭代的方法实现: p ...

  8. ZOJ 2723 Semi-Prime ||ZOJ 2060 Fibonacci Again 水水水!

    两题水题: 1.如果一个数能被分解为两个素数的乘积,则称为Semi-Prime,给你一个数,让你判断是不是Semi-Prime数. 2.定义F(0) = 7, F(1) = 11, F(n) = F( ...

  9. findbugs:may expose internal representation by ret

    2019独角兽企业重金招聘Python工程师标准>>> findbugs:1. *** getXXX() may expose internal representation by ...

最新文章

  1. 基于深度学习的肺癌预测诊断
  2. Hibernate 关联 set 和 list 对比
  3. java继承构造_Java语言的继承结构
  4. 【网络编程】之二、socket API学习
  5. linux创建zip+函数,linux+shell基础知识
  6. 寒哥细谈之AutoLayout全解
  7. 银行营业网点管理系统——entity类(CityArea)
  8. oracle stream 主键,oracle stream配置向导
  9. tga文件怎么打开_教你win10系统怎么打开stp文件
  10. 在Kubernetes上运行区块链服务(BaaS)
  11. redis——哈希(hash)
  12. 运维架构师-并不遥远的彼岸
  13. postman高级用法--断言(Response body:JSON value check)
  14. Ring3加载驱动源码
  15. 机器学习基石-林轩田-第一周笔记
  16. POJ 2387 Til the Cows Come Home BFS最短路求解
  17. 锐捷ruijie无线控制器AC登录说明
  18. 深度学习 pytorch cifar10数据集训练
  19. Lambda表达式到底是什么?——简单了解Lambda表达式
  20. 职业向导 - 面试题目汇总(嵌入式篇)

热门文章

  1. matplotlib绘制三维轨迹图
  2. valgrind——Cachegrind分析CPU的cache命中率、丢失率,用于进行代码优化。
  3. PHP的Smarty
  4. JavaScript 中的有限状态机
  5. 解决SecureCRT中文乱码
  6. Ubuntu14.04下配置OpenGL及测试代码
  7. OpenCV 图像采样 插值 几何变换
  8. 【Qt】Qt再学习(十六):QObject::connect: Cannot queue arguments of type ‘QString‘
  9. 华为atn980传输设备_在头发丝中实现每秒1000张高清DVD传输
  10. 遥感计算机分类的基本原理,遥感数字图像的计算机分类