日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HDU---2084树塔

發布時間:2023/12/18 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HDU---2084树塔 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


問題分析:

? ? 1.數據存儲:二維數組data[maxn][maxn]存儲樹塔數據,dp[maxn][maxn]用來存儲從某點出發的各個路徑中的最優值

? ? 2.分析思路:樹塔樹塔問題自頂向下分析,自底向上計算。首先對倒數第二層的數據按照自頂向下的分析方法,兩兩結合選出最優解,然后再自頂向上逐層決策,然后逐層遞推求出最終結果。

? ? 得出動態方程:dp[i][j] = max(dp[i+1][j], dp[i+1][j+1]) + data[i][j],最后的結果保存在dp[0][0]中。?
對于上面的數塔,我們的data數組如下:(圖轉自?https://blog.csdn.net/T_27080901/article/details/45801201

? ?


? ? dp數組狀態如下:

? ? ? ?

不考慮路徑輸出源碼如下:

#include<iostream> #include<algorithm> using namespace std;const int maxn = 101; int n; int data[maxn][maxn]; int dp[maxn][maxn];int main() {int kase,i,j;cin>>kase;while(kase--){cin>>n;for(i=0;i<n;i++){for(j=0;j<=i;j++){cin>>data[i][j];if(i==n-1)dp[i][j]=data[i][j]; }}for(i=n-2;i>=0;i--)for(j=0;j<=i;j++) //j的限制出錯(不是j<i,而是j<=i),導致輸出dp[0][0]為0 //dp[i][j] = dp[i+1][j]+dp[i+1][j+1]; //最初無腦寫的動態方程dp[i][j] = max(dp[i+1][j],dp[i+1][j+1])+data[i][j];cout<<dp[0][0]<<endl;}return 0; }

? ? 3.(額外考慮下)路徑輸出

? ? ?1.利用遞歸函數打印

void print_ans(int i,int j) {cout<<data[i][j];if(i<n-1) cout<<"-->";if((dp[i][j]-data[i][j])==dp[i+1][j+1]) j++;if(i>=n-1) return;print_ans(i+1,j); }

? ? ?2.邊自底向上計算邊記錄所做的決策

#include<iostream> #include<algorithm> using namespace std;const int maxn = 101; int data[maxn][maxn]; int dp[maxn][maxn]; int path[maxn][maxn]; //初始化為0,0表示往左走,1表示往右走; //int p[maxn]; //記錄第i層的決策//后來發現這個記錄方法不行, 因為p會被覆蓋 int main() {int kase,n,i,j;cin>>kase;while(kase--){cin>>n;for(i=0;i<n;i++){for(j=0;j<=i;j++){cin>>data[i][j];if(i==n-1)dp[i][j]=data[i][j]; }}for(i=n-2;i>=0;i--)for(j=0;j<=i;j++) if(dp[i+1][j]>dp[i+1][j+1]) //詳細的決策步驟,邊決策計算,邊記錄路徑{dp[i][j] = dp[i+1][j]+data[i][j];//p[i]=j;}else{dp[i][j] = dp[i+1][j+1]+data[i][j];path[i][j]=1;//p[i]=j+1;}cout<<dp[0][0]<<endl;j=0;for(i=0;i<=n-1;i++){cout<<data[i][j];j = j+path[i][j];if(i<n-1) cout<<"-->"; }/*for(i=0;i<=n-1;i++){cout<<data[i][p[i]];if(i<n-1) cout<<"-->"; }*/}return 0; }

運行結果:



總結

以上是生活随笔為你收集整理的HDU---2084树塔的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久久久久爱 | 日韩午夜影院 | 91精品国产一区二区三区蜜臀 | 亚洲性生活 | 亚洲美女网站 | 色综合视频在线 | 超碰男人的天堂 | 婷婷色图| 亚洲美女黄色 | 国产精品99精品 | 伊人久久九 | 老牛影视av老牛影视av | 欧美系列一区二区 | 国产精品自拍视频一区 | 日韩欧美中文在线观看 | 最新中文av | 少妇毛片一区二区三区粉嫩av | 日日夜夜欧美 | 亚洲国产一区二区三区四区 | 欧美黄色一级网站 | www.四虎. | 日韩在线观看视频一区二区三区 | 日本爽爽爽 | 香蕉视频一区二区 | 中国女人特级毛片 | 国产精品秘入口18禁麻豆免会员 | 蜜臀久久99精品久久久画质超高清 | 伊人久久精品视频 | av中文在线| 亚洲深爱| 黄色日本网站 | 日韩精品导航 | 日本少妇影院 | 999xxxx | 精品国产99久久久久久宅男i | 欧美日韩久久久久久 | 绯色av蜜臀vs少妇 | 无码日韩人妻精品久久蜜桃 | 亚洲一区二区在线看 | 五月婷综合 | 亚洲精品一卡 | 中文精品在线 | 熟妇人妻中文字幕 | 成人深夜福利在线观看 | 中文字幕一区二区久久人妻网站 | 天天射天天| 一级片一区| 一级在线免费观看 | 亚洲自拍p| 真实的国产乱xxxx在线 | 四虎网站在线观看 | 精品国产伦一区二区三 | www.色日本 | wwwww国产 | 日韩色在线观看 | 欧美日韩高清免费 | 欧美一级爽aaaaa大片 | 午夜精品久久久久久久久 | 伊人涩涩| 玖玖爱这里只有精品 | 18岁成年人网站 | 欧美日韩一区二区在线观看视频 | 久久免费看| 啪啪视屏 | 久久一级大片 | 日日摸天天爽天天爽视频 | 欧美gv在线观看 | 美女网站免费视频 | 日韩av电影一区 | 草逼国产 | 性福利视频 | 天堂成人在线 | 伊人久久天堂 | 中国国产精品 | 国产精品久久久久久久久久小说 | 男人添女人囗交视频 | 天天综合久久综合 | 中文在线免费看视频 | 精品一区二区三区免费毛片 | 成人国产精品 | 69精品久久 | 欧美囗交做爰视频 | 欧美片17c07.com | 成人欧美精品 | 亚洲色图10p | 亚洲国产久| 亲嘴扒胸摸屁股免费视频日本网站 | 成年人黄色免费网站 | av一区在线播放 | 天堂网2014| 久色视频在线播放 | 久久噜噜色综合一区二区 | 尤物视频一区 | 摸一摸操一操 | 日韩毛片在线观看 | √8天堂资源地址中文在线 欧美精品在线一区二区 | 成人av视屏 | 日韩免费成人av | 国产操人 |