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

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > poj 1609 Tiling Up Blocks dp入門之記憶化搜索

poj 1609 Tiling Up Blocks dp入門之記憶化搜索

來源:程序員人生   發布時間:2015-01-23 08:17:12 閱讀次數:3960次

題意:

給n個2元組(a,b),要在其中找最長的序列,使得對序列中的任意i<j,有ai<=aj且bi<=bj。

分析:

設dp[a][b]代表以(a,b)結尾的最長序列長度,記憶化搜索便可。

代碼:

//poj 1609 //sep9 #include <iostream> using namespace std; const int max_p=128; int n; int num[max_p][max_p]; int dp[max_p][max_p]; int search(int x,int y) { if(dp[x][y]) return dp[x][y]; int i,j,maxx=0; for(i=1;i<=x;++i) for(j=1;j<=y;++j) if(!(i==x&&j==y)) if(num[i][j]) maxx=max(maxx,search(i,j)); return dp[x][y]=maxx+num[x][y]; } int main() { while(scanf("%d",&n)==1){ if(n==0){ printf("* "); break; } int max_l=0,max_m=0; memset(num,0,sizeof(num)); memset(dp,0,sizeof(dp)); for(int i=0;i<n;++i){ int a,b; scanf("%d%d",&a,&b); ++num[a][b]; max_l=max(max_l,a); max_m=max(max_m,b); } int i,j,ans=0; for(i=1;i<=max_l;++i) for(j=1;j<=max_m;++j) if(num[i][j]) ans=max(ans,search(i,j)); printf("%d ",ans); } return 0; }


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产欧美一区二区三区视频在线观看 | 亚洲韩国日本欧美一区二区三区 | 国产精品一级视频 | 真实的伦伦啪啪 | 国产日比视频 | 久久精品天堂 | 欧美另类bbw | 香蕉国产成版人视频在线观看 | 亚洲一区精品中文字幕 | 一级一级 a爱片免费视频 | xx综合网 | 久久天堂网 | 羞羞网页登界面入口 | 亚洲日本一区二区三区在线不卡 | 亚洲高清综合 | 最新中文 | 91成人免费福利网站在线 | 最近在线中文字幕免费版 | 69精品免费视频 | 亚洲黄色三级 | 国产精品免费久久久免费 | 欧美日韩一区二区三区四区 | free hd video 性欧美 | 久久亚洲国产精品一区二区 | 中国free性护士xxxxhd | 国产成人精品视频频 | 亚洲天堂一区二区三区四区 | 豆国产96在线 | 亚洲 | 亚洲成人福利在线 | 呦视频在线一区二区三区 | 亚洲精品国产第一区二区三区 | 国产午夜精品免费一二区 | 亚洲乱码一二三四区麻豆 | 国产在线一91区免费国产91 | 亚洲人免费视频 | 日本vs黑人hd | 免费观看wwwwwww | 精品久久久久久亚洲精品 | 成人国产在线24小时播放视频 | 国产精品成人一区二区三区 | 午夜男人视频 |