CF 265B 行道樹簡化版

2021-12-29 22:24:18 字數 1047 閱讀 9464

b. roadside trees (simplified edition)

time limit per test 2 seconds

memory limit per test 256 megabytes

input standard input

output standard output

從西向東有 n 棵樹,編號 1 到 n ,樹頂有nuts.第 i 棵樹高 hi. liss 想吃所有的 nuts.

liss 在第1棵樹的高度為1的地方. liss 做下列任意一件事情耗時1s:

向樹的上方或下方移動1格.

吃樹頂的 nut .

向東邊那棵樹跳(不能向西跳),高度不變,注意liss不能從高的地方往低跳。

算出liss吃掉所有nuts最短時間.

input

第一行為 n (1  ≤  n ≤ 105) .

接下來n行為序列 hi (1 ≤ hi ≤ 104) .

output

算出liss吃掉所有nuts最短時間.

sample test(s)

input21

2output

5input52

1211

output14 

注意不能往西跳(一開始以為可以,看題仔細啊!)

[cpp]  

#include  

#include  

#include  

#include  

#include  

#include  

#include  

#include  

using namespace std;  

#define maxn (100000+10)  

#define maxhi (10000+10)  

int n,h[maxn];  

int main()  

*/  

ans+=2*n;  

cout<

return 0;  

}  

cf 551B 暴力列舉

交換a中字元的位置,求b,c字串在a中出現的最多次數 列舉b出現的次數,然後求出c在a中還可以出現的最大次數,求得最多的次數 關鍵在於如何計算b出現的次數 如下 for int i 0 i 26 i if s1 i sum min sum,ans i s1 i 知道了這個就不會超時了啦,我開始就沒想...

cf 1471 B 最大貢獻

t 組樣例 每組有長度為 n 的陣列 a 和 乙個數 x 下一行 輸入陣列 a 如果a i x 0 那麼就將 x個 a i x 放在陣列的末尾,然後繼續這樣的操作,直到a i x 0時停止 求陣列的和 1.昨天打的比賽,其實題目很簡單,考慮一下每個數的最大貢獻值,然後直接模擬就好,但是不是直接暴力模...

CF 453B狀態壓縮dp

題目鏈結 題意 給你n個數 1 n 100 每個數分別是ai 1 ai 30 問你求乙個數列bi,其中bi間的數兩兩的最大公約數為1 bi可能都是1 且使得 思路 既然bi可以全部取1,那麼每個bi的取值必定不超過30 1 30 59。由此可知我們只要知道60以內的所有數的素因子,並用數字標記的方式...