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

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

hdu 1069 Monkey and Banana(動態規劃)

2019-11-06 06:29:56
字體:
來源:轉載
供稿:網友

第一遍是用遞歸寫的,測試過了,但是提交后tle了,然后怎么也沒能改成dp的代碼。。。 參考了下別人的代碼:http://blog.csdn.net/wyg1997/article/details/52254176 思路還是很簡單的

#include <cstdio>#include <cstring>#include <algorithm>using namespace std;struct node{ int x,y,height;};int len;node block[200];int dp[200];int res;bool cmp(node &a, node &b){ if(a.x == b.x) return a.y > b.y; return a.x > b.x;}int main(){ int n,x,y,z,time = 0; while(scanf("%d",&n) && n) { ++time; len = 0; res = 0; //每一塊都有六個情況 for(int i = 0; i < n; ++i) { scanf("%d %d %d",&x,&y,&z); block[len].x = x; block[len].y = y; block[len].height = z; ++len; block[len].x = y; block[len].y = x; block[len].height = z; ++len; block[len].x = x; block[len].y = z; block[len].height = y; ++len; block[len].x = z; block[len].y = x; block[len].height = y; ++len; block[len].x = y; block[len].y = z; block[len].height = x; ++len; block[len].x = z; block[len].y = y; block[len].height = x; ++len; } memset(dp,0,sizeof(dp)); sort(block,block+len,cmp); for(int i = 0; i < len; ++i) { //dp[i]表示前i塊可以放的最大高度 //先直接放上第i塊 dp[i] = block[i].height; for(int j = i-1; j >= 0; --j) { //如果第i塊可以放在第j塊上,則選擇max(dp[i],block[i].height+dp[j]) if(block[i].x < block[j].x && block[i].y < block[j].y) { dp[i] = max(dp[i],block[i].height+dp[j]); } } res = max(res,dp[i]); }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宝丰县| 乌拉特前旗| 香港| 新密市| 彰化县| 普宁市| 天全县| 舞钢市| 徐闻县| 云南省| 西青区| 津南区| 南华县| 福鼎市| 屯昌县| 安阳市| 和静县| 曲阜市| 仁寿县| 石首市| 明星| 广饶县| 同德县| 银川市| 河间市| 松潘县| 丰台区| 鹤峰县| 江孜县| 治多县| 宁南县| 富蕴县| 年辖:市辖区| 灵山县| 阿坝县| 拜泉县| 长白| 固安县| 楚雄市| 曲松县| 措勤县|