計蒜客 T1551 魔法少女

2021-10-04 03:24:26 字數 1054 閱讀 1885

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

輸入格式

第一行乙個數字 n(1 \le n \le 10000)n(1≤n≤10000),代表樓層數量。

接下去 nn 行,每行乙個數字 h(1 \le h \le 100)h(1≤h≤100),代表本層的高度。

輸出格式

輸出一行,乙個數字 ss,代表通往樓頂所需的最短時間。

輸出時每行末尾的多餘空格,不影響答案正確性

樣例輸入複製53

5184

樣例輸出複製

1**本題的難點是怎樣構造轉態轉移方程,**如下: **

/*

@author:hairu,wu

@from:ahut

*/#include

using

namespace std;

const

int max_n=

10011

;int a[max_n]

;int dp[max_n][5

];intmain()

//邊界狀態

//dp[i][0]表示在第i層不飛需要消耗的時間,dp[i][1]表示飛需要消耗的時間

dp[1]

[1]=

0;

dp[1]

[0]=a[1]

;//轉移

for(

int i=

2;i<=n;i++

)int res=

min(dp[n][1

],dp[n][0

]); cout

}

計蒜客t36352 魔法

肯定我要佔滿所有的葉子結點,否則以乙個葉子節點建樹的時候你選的所有點就都在一棵子樹裡,也就不符合要求。反過來,選擇了所有葉子節點,可以證明它是可行的,所以葉子節點構成的集合滿足要求而且最小。如果k 0 k 0k 0直接求出度為1 11的點的數目就好了 如果k 1 k 1k 1,列舉刪哪條邊,我用 x...

計蒜客T2237 魔法 樹

題目大意 資料範圍 題解 這個題挺好玩的 可以用反證法,發現所有葉子必須都得選而且所有葉子都選了合法。故此我們就是要使得,一次操作之後使得葉子的個數最少。這怎麼弄呢?我們發現,如果一條邊相連的兩個點 x 和 y d i 表示點 i 的度數,不妨設 d x le d y 滿足 d y ge 3 且 d...

紅與黑 計蒜客 T1211

題目鏈結 典型的深搜題,基礎題。蒜廠有一間長方形的房子,地上鋪了紅色 黑色兩種顏色的正方形瓷磚。你站在其中一塊黑色的瓷磚上,只能向相鄰的黑色瓷磚移動。請寫乙個程式,計算你總共能夠到達多少塊黑色的瓷磚。輸入格式第一行是兩個整數 w和 h,分別表示 x 方向和 y 方向瓷磚的數量。w 和 h 都不超過 ...