POJ8462 大盜阿福

2021-08-15 23:35:19 字數 675 閱讀 8818

poj8462大盜阿福

題目:阿福是一名經驗豐富的大盜。趁著月黑風高,阿福打算今晚洗劫一條街上的店鋪。

這條街上一共有 n (1 <= n <= 100, 000) 家店鋪,每家店中都有一些現金。阿福事先調查得知,只有當他同時洗劫了兩家相鄰的店鋪時,街上的報警系統才會啟動,然後警察就會蜂擁而至。

作為一向謹慎作案的大盜,阿福不願意冒著被警察追捕的風險行竊。他想知道,在不驚動警察的情況下,他今晚最多可以得到多少現金?

思路:由資料規模來看,是要用動態規劃來解。由於每乙個商鋪確定偷和不偷後都會影響其後面的店鋪,於是用d[i]表示偷前i家店鋪的利潤最大的狀態不合適。

於是用dp[i]表示下標i-n號店鋪所能得到的最大利潤,目標求dp[1]。

由初始條件:dp[n] = cash[n],dp[n-1] = max;

有動態轉移方程:dp[i] = max; dp[i+1]表示不偷店鋪i,dp[i+2]+cash[i]表示偷店鋪i,dp[i+2],dp[i+1]已經在之前確定。

#include#include#include#include#include#include#include#include#include#includeusing namespace std;

int t,n,cash[100005],dp[100005];

int main()

cout<

8462 大盜阿福

總時間限制 1000ms 記憶體限制 65536kb 描述 阿福是一名經驗豐富的大盜。趁著月黑風高,阿福打算今晚洗劫一條街上的店鋪。這條街上一共有 n 家店鋪,每家店中都有一些現金。阿福事先調查得知,只有當他同時洗劫了兩家相鄰的店鋪時,街上的報警系統才會啟動,然後警察就會蜂擁而至。作為一向謹慎作案的...

23 大盜阿福

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

23 大盜阿福

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