国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

BZOJ2796: [Poi2012]Fibonacci Representation

2019-11-06 06:43:36
字體:
來源:轉載
供稿:網友

記憶化搜索 所以其實就是亂搜嗎…. 1017在fib數列里好像就70~80左右的地方,所以數據的數量不多,尋找x的解可以二分找到x大概在fib的哪個位置,然后找x和左右項的差的絕對值y


#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)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 灵台县| 周至县| 开封市| 防城港市| 军事| 穆棱市| 勐海县| 兴和县| 仙居县| 多伦县| 油尖旺区| 金平| 东丰县| 仁布县| 湘阴县| 磐安县| 浪卡子县| 黄梅县| 翼城县| 新龙县| 丹东市| 应城市| 岳阳市| 廊坊市| 岱山县| 绥中县| 萍乡市| 安阳县| 剑阁县| 平顶山市| 苏尼特右旗| 紫金县| 遂平县| 安国市| 赫章县| 策勒县| 同心县| 城步| 图木舒克市| 台前县| 虎林市|