魔法少女(動態規劃)

2021-08-28 23:03:31 字數 866 閱讀 8284

討論區

魔法少女

時間限制:1000 ms | 記憶體限制:65535 kb

難度:3

描述前些時間虛淵玄的鉅獻小圓著實火了一把。 在黑長直(小炎)往上爬樓去對抗魔女之夜時,她遇到了乙個問題想請你幫忙。 因為魔女之夜是懸浮在半空的,所以她必須要爬樓,而那座廢墟一共有n層,而且每層高度不同,這造成小炎爬每層的時間也不同。不過當然,小炎會時間魔法,可以瞬間飛過一層或者兩層[即不耗時]。但每次瞬移的時候她都必須要至少往上再爬一層(在這個當兒補充魔力)才能再次使用瞬移。爬每單位高度需要消耗小炎1秒時間。 消滅魔女之夜是刻不容緩的,所以小炎想找你幫她找出一種最短時間方案能通往樓頂。

輸入本題有多組資料,以檔案輸入結尾結束。

每組資料第一行乙個數字n(1 <= n <= 10000),代表樓層數量。

接下去n行,每行乙個數字h(1 <= h <= 100),代表本層的高度。

輸出對於每組資料,輸出一行,乙個數字s,代表通往樓頂所需的最短時間。

樣例輸入53

5184

樣例輸出

1

#includeusing namespace std;

int h[10005];

int dp[10005][2];

int main()

dp[1][1] = 0;

dp[1][0] = h[1];

dp[2][1] = 0;

dp[2][0] = h[2];

for (int i = 3; i <= layers; i++)

cout << min(dp[layers][0], dp[layers][1]) << endl;

} return 0;

}

nyoj1204魔法少女 動態規劃

時間限制 1000 ms 記憶體限制 65535 kb 描述前些時間虛淵玄的鉅獻小圓著實火了一把。在黑長直 小炎 往上爬樓去對抗魔女之夜時,她遇到了乙個問題想請你幫忙。因為魔女之夜是懸浮在半空的,所以她必須要爬樓,而那座廢墟一共有n層,而且每層高度不同,這造成小炎爬每層的時間也不同。不過當然,小炎會...

魔法少女小Scarlet

scarlet最近學會了乙個陣列魔法,她會在n n二維陣列上將乙個奇數階方陣按照順時針或者逆時針旋轉90 首先,scarlet會把1到n2 的正整數按照從左往右,從上至下的順序填入初始的二維陣列中,然後她會施放一些簡易的魔法。scarlet既不會什麼分塊特技,也不會什麼splay套splay,她現在...

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...