生日禮物(單調佇列)

2022-05-25 19:24:07 字數 902 閱讀 2481

小西有一條很長的彩帶,彩帶上掛著各式各樣的彩珠。已知彩珠有n個,分為k種。簡單的說,可以將彩帶考慮為x軸,每乙個彩珠有乙個對應的座標(即位置)。某些座標上可以沒有彩珠,但多個彩珠也可以出現在同乙個位置上。

小布生日快到了,於是小西打算剪一段彩帶送給小布。為了讓禮物彩帶足夠漂亮,小西希望這一段彩帶中能包含所有種類的彩珠。同時,為了方便,小西希望這段彩帶盡可能短,你能幫助小西計算這個最短的長度麼?彩帶的長度即為彩帶開始位置到結束位置的位置差。

輸入格式:

第一行包含兩個整數n, k,分別表示彩珠的總數以及種類數。接下來k行,每行第乙個數為ti,表示第i種彩珠的數目。接下來按公升序給出ti個非負整數,為這ti個彩珠分別出現的位置。(1≤n≤1000000,1≤k≤60,0≤ti<2^31)

輸出格式:

輸出應包含一行,為最短彩帶長度。

輸入樣例#1:

6 31 5

2 1 7

3 1 3 8

輸出樣例#1:

3題目分析:

先對位置排序,然後單調佇列維護一下種類。

#include using

namespace

std;

const

int n=1000005

;struct

point

}p[n],qu[n];

int vis[65

];int

main()

sort(p,p+cnt);

int head=1,tail=0,ans=0x3f3f3f3f,sum=0

;

for(int i=0;i)

}printf(

"%d\n

",ans);

return0;

}

單調 生日禮物

luogup2564 題目 小西有一條很長的彩帶,彩帶上掛著各式各樣的彩珠。已知彩珠有n個,分為k種。簡單的說,可以將彩帶考慮為x軸,每乙個彩珠有乙個對應的座標 即位置 某些座標上可以沒有彩珠,但多個彩珠也可以出現在同乙個位置上。小布生日快到了,於是小西打算剪一段彩帶送給小布。為了讓禮物彩帶足夠漂亮...

P2564 生日禮物(單調佇列)

這個題看上去狀態比較多,實際上由於題目的輸出需要,又因為是乙個線性的結構,所以我們可以有一些操作。這麼想,如果我們有了乙個滿足條件的區間,此時我們縮減左端點,然後判斷此時是否還是滿足,滿足就繼續縮減,不滿足就伸長右端點,直到下一次又滿足條件為止,複雜度差不多o n include include i...

生日禮物 優先佇列,鍊錶,貪心

題目鏈結 題目 翰翰18歲生日的時候,達達給她看了乙個神奇的序列 a1,a2,an。她被允許從中選擇不超過 m 個連續的部分作為自己的生日禮物。翰翰想要知道選擇元素之和的最大值。你能幫助她嗎?輸入格式 第一行包含兩個整數n,m。第二行包含n個整數a1 an。輸出格式 輸出乙個整數,表示答案。資料範圍...