時間限制:1000 ms | 記憶體限制:65535 kb
描述前些時間虛淵玄的鉅獻小圓著實火了一把。 在黑長直(小炎)往上爬樓去對抗魔女之夜時,她遇到了乙個問題想請你幫忙。 因為魔女之夜是懸浮在半空的,所以她必須要爬樓,而那座廢墟一共有n層,而且每層高度不同,這造成小炎爬每層的時間也不同。不過當然,小炎會時間魔法,可以瞬間飛過一層或者兩層[即不耗時]。但每次瞬移的時候她都必須要至少往上再爬一層(在這個當兒補充魔力)才能再次使用瞬移。爬每單位高度需要消耗小炎1秒時間。 消滅魔女之夜是刻不容緩的,所以小炎想找你幫她找出一種最短時間方案能通往樓頂。
輸入本題有多組資料,以檔案輸入結尾結束。
每組資料第一行乙個數字n(1 <= n <= 10000),代表樓層數量。
接下去n行,每行乙個數字h(1 <= h <= 100),代表本層的高度。
輸出對於每組資料,輸出一行,乙個數字s,代表通往樓頂所需的最短時間。
樣例輸入53
5184
樣例輸出
dp[i][0]表示第i層且不可以用魔法時的最短時間
dp[i][1]表示第i層且可以使用魔法時的最短時間
狀態轉移方程:
dp[i][0] = min(dp[i-2][1],dp[i-1][1]);//第i層是用魔法上來的,不費時間
dp[i][1] = min(dp[i-1][0],dp[i-1][1]) + a[i];//第i層是爬上來的,費時
#include
#include
#include
using namespace std;
const
int maxn =
10010
;int f[maxn][2
];int dis[maxn]
;int n;
intmain()
cout <<
min(f[n][0
], f[n][1
])<< endl;
}return0;
}
nyoj 1204 魔法少女
動態規劃 dp i 0 表示i層不用魔法的最少步數 dp i 1 表示i層用魔法的最少步數 dp i 0 min dp i 1 0 dp i 1 1 a i dp i 1 min dp i 1 0 dp i 2 0 dp 0 1 dp 1 1 0 dp 0 0 h 0 dp 1 0 h 1 incl...
nyoj 1204 士兵殺敵(一)
南將軍手下有n個士兵,分別編號1到n,這些士兵的殺敵數都是已知的。小工是南將軍手下的軍師,南將軍現在想知道第m號到第n號士兵的總殺敵數,請你幫助小工來回答南將軍吧。注意,南將軍可能會問很多次問題。輸入只有一組測試資料 第一行是兩個整數n,m,其中n表示士兵的個數 1 輸出對於每乙個詢問,輸出總殺敵數...
魔法少女(動態規劃)
討論區 魔法少女 時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述前些時間虛淵玄的鉅獻小圓著實火了一把。在黑長直 小炎 往上爬樓去對抗魔女之夜時,她遇到了乙個問題想請你幫忙。因為魔女之夜是懸浮在半空的,所以她必須要爬樓,而那座廢墟一共有n層,而且每層高度不同,這造成小炎爬每層的...