bzoj1345 序列問題

2022-06-07 14:54:15 字數 556 閱讀 7878

記每乙個數向比他大的數合併時的代價為這個數字的代價,顯然除了最大值以外,每乙個數都有乙個代價,那麼這個代價和就是最終答案

考慮最小化這個代價和,也就是讓每乙個數的代價最小,顯然這個代價不會小於向左和右第乙個比他大的數中較小的數,然後這樣的方案也很好構造,這個東西用單調棧來處理即可

1 #include2

using

namespace

std;

3#define n 1000005

4int

n,a[n],lmx[n],rmx[n],s[n];

5long

long

ans;

6int

main()

16 s[0]=0;17

for(int i=n;i;i--)

22for(int i=1;i<=n;i++)ans+=min(lmx[i],rmx[i]);

23 printf("

%lld

",ans-0x3f3f3f3f

);24 }

view code

bzoj1345 序列問題 貪心

對於乙個給定的序列a1,an,我們對它進行乙個操作reduce i 該操作將數列中的元素ai和ai 1用乙個元素max ai,ai 1 替代,這樣得到乙個比原來序列短的新序列。這一操作的代價是max ai,ai 1 進行n 1次該操作後,可以得到乙個長度為1的序列。我們的任務是計算代價最小的redu...

BZOJ4403 序列統計

description 給定三個正整數n l和r,統計長度在1到n之間,元素大小都在l到r之間的單調不降序列的數量。輸出答案對10 6 3取模的結果。input 輸入第一行包含乙個整數t,表示資料組數。第2到第t 1行每行包含三個整數n l和r,n l和r的意義如題所述。output 輸出包含t行,...

BZOJ4403 序列統計

推導式子 baidu可得 設m r l 1 長度為i,元素大小在1 m之間的單調不降序列的數量有cm 1i m 1個 故答案為 n i 1 cm 1 i m 1 ni 1 cm 1i m 1 cm m 1 ni 2 cm 1i m 1 cm m 1 1 ni 3 cm 1i m 1 cm m 2 1...