多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > php開源 > php教程 > BZOJ 3357 Usaco2004 等差數(shù)列 動(dòng)態(tài)規(guī)劃

BZOJ 3357 Usaco2004 等差數(shù)列 動(dòng)態(tài)規(guī)劃

來源:程序員人生   發(fā)布時(shí)間:2015-03-18 10:22:03 閱讀次數(shù):3711次

題目大意:給定1個(gè)長(zhǎng)度為n的序列,求最大等差子序列

令f[i][j]表示當(dāng)前等差數(shù)列最后1個(gè)數(shù)為a[i],倒數(shù)第2個(gè)數(shù)為j的最長(zhǎng)長(zhǎng)度

則有f[i][a[j]]=max{2,f[j][a[j]*2-a[i]]+1}

注意n=1時(shí)輸出1

時(shí)間復(fù)雜度O(n^2logn)

#include <map> #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define M 2020 using namespace std; int n,ans,a[M]; map<int,int> f[M]; //f[i][j]表示當(dāng)前等差數(shù)列最后1個(gè)數(shù)為a[i],倒數(shù)第2個(gè)數(shù)為j的最長(zhǎng)長(zhǎng)度 int main() { int i,j; cin>>n; if(n==1) return cout<<1<<endl,0; for(i=1;i<=n;i++) scanf("%d",&a[i]); for(i=1;i<=n;i++) for(j=1;j<i;j++) { f[i][a[j]]=max(f[i][a[j]],2); f[i][a[j]]=max(f[i][a[j]],f[j][a[j]*2-a[i]]+1); ans=max(ans,f[i][a[j]]); } cout<<ans<<endl; return 0; }


生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 欧洲美女a视频一级毛片 | 日本一区二区不卡久久入口 | 一级做受毛片免费大片 | 一级做a爰片性色毛片中国 一级做a爰全过程免费视频毛片 | 欧美一区2区 | 亚洲免费在线视频 | 永久手机看片福利盒子 | 久久国 | 国产精品毛片无码 | 亚洲制服欧美自拍另类 | 午夜噜噜| 欧美ay亚洲ay日韩ay | 日韩欧美中文 | 午夜视频网 | 亚洲国产毛片 | 91手机看片国产福利精品 | 日本免费三区 | 欧美xxxhd| 久久aa | 久久久久久久久a免费 | 欧美日韩亚洲精品一区二区 | 亚洲天堂中文字幕 | 成年ssswww网站 | 国产午夜永久福利视频在线观看 | 欧美艳星xxx | 色偷偷青青草原在线视频 | 久久国产精品久久国产片 | 精品网站| 欧美黑人两根巨大挤入 | 国产区久久 | 日本道在线 | 欧美成人免费一区在线播放 | 欧美18毛片免费看 | 日韩精品一区二三区中文 | 国产精品揄拍100视频 | 欧美激情五月 | 欧美操人视频 | 麻豆国产成人精品午夜视频 | 欧美a∨ | 亚洲色图色 | 日韩欧美国内 |