1628 龍宮盜寶 動態規劃

2021-09-12 11:42:07 字數 1511 閱讀 7873

描述

老龍王酷愛收藏寶貝,他蒐羅了很多寶貝藏在他的龍宮之中。某日一小偷潛入龍宮之中企圖盜竊龍宮寶物。假設寶物是被一字排列的,每個寶物都裝在乙個盒子裡,老龍王在某些盒子裡設計了一些陷阱。小偷如果拿到裝有寶物的盒子,則會獲得一定的收益,如果盒子裡有陷阱則會有一定的損失。小偷為了盡快的拿走寶物而不被發現,決定從某個盒子開始,連續的拿走若干的盒子。問小偷從哪個盒子開始拿並且拿多少個盒子,才能使得到的收益最高。

輸入描述

題目包含多組輸入

n表示有n個盒子(n<=1000000),隨後n個數表示每個盒子能帶來的收益val,(-100<=val<=100)。

輸出描述

輸出兩個值小偷拿的第乙個盒子的位置i(從1開始數),拿走盒子的個數k。中間用空格隔開。如果有多種結果,要求在i盡量小的前提下k盡量大(因為小偷很貪心,他總想多拿一點,當然知曉老龍王陰險的他也可以乙個都不拿並輸出"龍宮如此之窮")。

5 -1 2 3 -2 4

2 4提示

選擇 2 3 -2 4

/*未過

*****===[7.out]*****====

expected | yours

12 3 \ 3 1

******************************

*****===[6.out]*****====

expected | yours

222052 11923 \ 4792 2083

******************************

*/#include#includeusing namespace std;

int n,v;

int st,k,max,fst,fk;

int main()

else if(sum==max)

}if(sum<0)//

}if(fst==0&&fk==0)printf("23333333");

else

printf("%d %d\n",fst,fk);

}return 0;

}

//ac

#include #include #include using namespace std;

const int n = 1e6+10;

int n,num[n];

int dp[n];

int main()

if(!f)

memset(dp,0,sizeof dp);

int ansi,ansk;

int maxn = -100;

for(int i=n;i>=1;i--)

} int sum = 0;

for(int i=ansi;i<=n;i++)

} printf("%d %d\n",ansi,ansk - ansi + 1);

} return 0;

}

C 地宮取寶(動態規劃)

x 國王有乙個地宮寶庫,是 n m個格仔的矩陣,每個格仔放一件寶貝,每個寶貝貼著價值標籤。地宮的入口在左上角,出口在右下角。小明被帶到地宮的入口,國王要求他只能向右或向下行走。走過某個格仔時,如果那個格仔中的寶貝價值比小明手中任意寶貝價值都大,小明就可以拿起它 當然,也可以不拿 當小明走到出口時,如...

動態規劃 ybt1301 大盜阿福

阿福是一名經驗豐富的大盜。趁著月黑風高,阿福打算今晚洗劫一條街上的店鋪。這條街上一共有 n n 家店鋪,每家店中都有一些現金。阿福事先調查得知,只有當他同時洗劫了兩家相鄰的店鋪時,街上的報警系統才會啟動,然後警察就會蜂擁而至。作為一向謹慎作案的大盜,阿福不願意冒著被警察追捕的風險行竊。他想知道,在不...

藍橋杯 地宮取寶(動態規劃)

題面如下 x 國王有乙個地宮寶庫,是 n m n m 個格仔的矩陣,每個格仔放一件寶貝,每個寶貝貼著價值標籤。地宮的入口在左上角,出口在右下角。小明被帶到地宮的入口,國王要求他只能向右或向下行走。走過某個格仔時,如果那個格仔中的寶貝價值比小明手中任意寶貝價值都大,小明就可以拿起它 當然,也可以不拿 ...