给出一个数字,用FIB数列各项加加减减来得到。

问最少要多少个(可以重复使用)

大概试了一下,fibonacci数列的增长是很快的,大概到了90+项就超过了题目范围……

所以每次找一个最近的fibonacci数试一下就好,实测跑得飞快。

 #include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll f[],n,m;
inline ll read(){
ll f=,x=;char ch;
do{ch=getchar();if(ch=='-')f=-;}while(ch<''||ch>'');
do{x=x*+ch-'';ch=getchar();}while(ch>=''&&ch<='');
return f*x;
}
int work(ll x){
if(!x)return x;int i;
for(i=;f[i]<x;i++);
return work(min(f[i]-x,x-f[i-]))+;
}
int main(){
f[]=;f[]=;
for(int i=;i<=;i++)f[i]=f[i-]+f[i-];
int T=read();
while(T--){
n=read();
printf("%d\n",work(n));
}
return ;
}

最新文章

  1. codeforces 725D . Contest Balloons(贪心+优先队列)
  2. [转]easyui data-options的使用
  3. Mybatis 级联查询 (一对多 )
  4. mysql 数据列按照逗号转成行
  5. Ubuntu14.04 安装Oracle JDK
  6. DOCKER 从入门到放弃(一)
  7. SpringBoot 注解事务声明式事务
  8. ssh 设置私钥实现两台linux主机无密码访问
  9. go time类操作
  10. 2016_NENU_CS_3
  11. 【C++】Mandelbrot集绘制(生成ppm文件)
  12. Linux内核RPC请求过程
  13. SCRUM 12.09 软件工程第二周计划
  14. 解决Unity协程无法同步返回的问题
  15. Windows Phone 放开政策 - 应用内支付(IAP)可加入三方支付
  16. 强连通分量+缩点(poj2553)
  17. RabbitMQ镜像队列初始化连接时的“优化”
  18. HBase核心功能模块--读书笔记
  19. SpringBoot入门系列
  20. 集合视图UICollectionView 介绍及其示例程序

热门文章

  1. SPFA模板 Bellmanford优化版
  2. POJ 1149 PIGS(最大流)
  3. Linux---CentOS 定时执行脚本配置
  4. 通过数据库评估存储设备IO性能-Oracle11gIO校准功能介绍
  5. [C/C++] “箭头(-&gt;)”和“点号(.)”的区别
  6. DELPHI控件属性事件说明
  7. JSP表单提交出现中文乱码的解决方法
  8. [bzoj3886] [USACO15JAN]电影移动Moovie Mooving
  9. HDU.2095(异或运算)
  10. C&amp;C++——库头文件及其作用