小西有一條很長的彩帶,彩帶上掛著各式各樣的彩珠。已知彩珠有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 usingnamespace
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。輸出格式 輸出乙個整數,表示答案。資料範圍...