小y:「小r 你是蘿莉控嗎。」小r:「…」
為了避免這個尷尬的話題,小r 決定給小y 做一道題。
有乙個長度為n 的正整數陣列a,滿足ai >= ai+1,現在構造乙個陣列b,令bi =。
現在,有乙個n * n 的網格圖,左下角座標是(1, 1),右上角座標是(n, n)。有乙個小sb正在座標為(n, 1) 的位置,每一時刻,如果他現在在(x, y),他可以選擇走到(x ?-1,y + 1) 或者(x, (y + 1) div 2),如果選擇後者,他要支付bx的代價。
現在他想走到(1, 1),你可以告訴他他支付的代價最少是多少嗎?注意在任何時候他都不能離開這個網格圖。
第一行輸入乙個正整數t 表示資料組數。
對於每組資料,第一行是乙個整數n,接下來一行n 個整數表示陣列a。
對於每組資料,輸出乙個整數表示答案。13
1 1 1
5樣例解釋:
選擇的路徑可以是:(3, 1)->(2, 2)->(2, 1)->(1, 2)->(1, 1)
對於30% 的資料,n <= 10
對於50% 的資料,n <=1000
對於100% 的資料,n<= 105,1 <= t<= 10,1 <= ai<= 104
合併果子
為什麼?感性理解
每次往左走相當於合併兩堆果子
#include
#include
#include
#include
#define ll long long
using
namespace std;
const ll inf=
0x7fffffff
,maxn=
1e5+
777;
ll c[maxn*2]
,n,ass=
0,cnt=
0,t=0;
voidup(
int x)
}void
down
(int x)
}void
ins(
int x)
void
del(
)int
pop(
)int
main()
while
(cnt>1)
printf
("%lld\n"
,ass);}
}
五校聯考1day1 已經沒有什麼好害怕的了
小y 最近開始學習演算法姿勢,但是因為小r 非常bb,給了她很多b6 題,所以她覺得自己已經沒有什麼前途了。於是小r 給了她一些稍微簡單的題,讓她覺得已經沒有什麼好害怕的了,其中一道是這樣的 給定乙個長度為n 只包含左括號和右括號的序列,現在小r 想要知道經過每乙個位置的合法子串有多少個。空串是乙個...
五校聯考1day1 線段樹什麼的最討厭了
只要呼叫buildtree 1,0,n 就可以得到一顆線段樹了。顯然,一顆線段樹一共有o n 個節點,因為每乙個節點都代表了乙個不同的區間,所以線段樹上一共出現了o n 個不同的區間。現在給了你乙個區間 l,r 他想要你告訴他乙個最小的n 使得區間 l r 出現在了用buildtree 1,0,n ...
五校聯考1day1 已經沒有什麼好害怕的了
description 小y 最近開始學習演算法姿勢,但是因為小r 非常bb,給了她很多b6 題,所以她覺得自己已經沒有什麼前途了。於是小r 給了她一些稍微簡單的題,讓她覺得已經沒有什麼好害怕的了,其中一道是這樣的 給定乙個長度為n 只包含左括號和右括號的序列,現在小r 想要知道經過每乙個位置的合法...