【bzoj2796】 [Poi2012]Fibonacci Representation
2024-08-27 22:23:32
给出一个数字,用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 ;
}
最新文章
- codeforces 725D . Contest Balloons(贪心+优先队列)
- [转]easyui data-options的使用
- Mybatis 级联查询 (一对多 )
- mysql 数据列按照逗号转成行
- Ubuntu14.04 安装Oracle JDK
- DOCKER 从入门到放弃(一)
- SpringBoot 注解事务声明式事务
- ssh 设置私钥实现两台linux主机无密码访问
- go time类操作
- 2016_NENU_CS_3
- 【C++】Mandelbrot集绘制(生成ppm文件)
- Linux内核RPC请求过程
- SCRUM 12.09 软件工程第二周计划
- 解决Unity协程无法同步返回的问题
- Windows Phone 放开政策 - 应用内支付(IAP)可加入三方支付
- 强连通分量+缩点(poj2553)
- RabbitMQ镜像队列初始化连接时的“优化”
- HBase核心功能模块--读书笔记
- SpringBoot入门系列
- 集合视图UICollectionView 介绍及其示例程序
热门文章
- SPFA模板 Bellmanford优化版
- POJ 1149 PIGS(最大流)
- Linux---CentOS 定时执行脚本配置
- 通过数据库评估存储设备IO性能-Oracle11gIO校准功能介绍
- [C/C++] “箭头(->;)”和“点号(.)”的区别
- DELPHI控件属性事件说明
- JSP表单提交出现中文乱码的解决方法
- [bzoj3886] [USACO15JAN]电影移动Moovie Mooving
- HDU.2095(异或运算)
- C&;C++——库头文件及其作用