BZOJ2796: [Poi2012]Fibonacci Representation
来源:互联网 发布:网络热词排行榜2016 编辑:程序博客网 时间:2024/06/05 06:22
记忆化搜索
所以其实就是乱搜吗….
#include<set>#include<map>#include<deque>#include<queue>#include<stack>#include<cmath>#include<ctime>#include<bitset>#include<string>#include<vector>#include<cstdio>#include<cstdlib>#include<cstring>#include<climits>#include<complex>#include<iostream>#include<algorithm>#define ll long longusing namespace std;void down(int &x,int y){if(x>y)x=y;}const int maxn = 88;map<ll,int>h;ll n;ll f[maxn];int find_(ll x){ int l=2,r=85; while(l<=r) { int mid=(l+r)>>1; if(x<f[mid]) r=mid-1; else l=mid+1; } return l-1;}ll solve(ll x){ int k=find_(x); int ans=233; ll cl=abs(f[k]-x); if(h.count(cl)>0) ans=h[cl]; else ans=solve(cl); cl=abs(f[k+1]-x); if(h.count(cl)>0) down(ans,h[cl]); else { int l=solve(cl);if(ans>l)ans=l; } h[x]=ans+1; return ans+1;}int main(){ h[0]=0; f[1]=1; for(int i=2;i<maxn;i++) f[i]=f[i-1]+f[i-2],h[f[i]]=1; int t; scanf("%d",&t); while(t--) { scanf("%lld",&n); if(h.count(n)>0) printf("%d\n",h[n]); else printf("%d\n",solve(n)); } return 0;}
0 0
- 【POI2012】【BZOJ2796】Fibonacci Representation
- BZOJ2796: [Poi2012]Fibonacci Representation
- BZOJ2796 [Poi2012]Fibonacci Representation
- BZOJ2796/POI2012 Fibonacci Representation
- BZOJ2796: [Poi2012]Fibonacci Representation
- 【bzoj2796】 [Poi2012]Fibonacci Representation
- bzoj2796 [Poi2012]Fibonacci Representation
- bzoj2796 [Poi2012]Fibonacci Representation 贪心
- 【BZOJ2796】【贪心】 Fibonacci Representation题解
- 2796: [Poi2012]Fibonacci Representation
- [BZOJ 2796]POI2012 Fibonacci Representation
- BZOJ 2796: [Poi2012]Fibonacci Representation
- 2796: [Poi2012]Fibonacci Representation 思路题 map+记忆化搜索
- bzoj 2796: [Poi2012]Fibonacci Representation 记忆化搜索
- [POI 2012]Fibonacci Representation(记忆化DFS)
- POI2012题解
- [Poi2012]Festival
- Fibonacci
- Android 性能优化记录一
- 给TextView加边框
- jQuery.extend()与jQuery.fn.extend()区别和用法解释
- Java的动态代理机制详解
- AngularJS中的依赖注入 一
- BZOJ2796: [Poi2012]Fibonacci Representation
- Image直接显示FTP中的图片
- SpringBoot消失的Web.xml
- cocos2dx tolua ++ 使用 常见得错误
- git的一些常用的命令
- iOS使用推送解决未读消息实时刷新
- 如何将一个数据库的表复制到另一个数据库
- java 并发工具类-Exchanger
- Android开发之退出应用