BZOJ1307 玩具 單調佇列

2022-02-28 19:04:32 字數 971 閱讀 2167

小球球是個可愛的孩子,他喜歡玩具,另外小球球有個大大的櫃子,裡面放滿了玩具,由於櫃子太高了,每天小球球都會讓媽媽從櫃子上拿一些玩具放在地板上讓小球球玩。 這天,小球球把所有的n輛玩具擺成一排放在地上,對於每輛玩具i,小球球都會給它塗上乙個正整數value[i],以表示小球球對該玩具的喜愛程度,value[i]越小則表示他越喜愛。當然對於兩輛不同的玩具u,v(u<>v),亦有可能value[i]=value[j],也就是說小球球對u,v兩車的喜愛程度是一樣的。 小球球很貪玩,他希望能從中間某個位置,連續的取出k輛玩具,使得這k輛車裡喜愛程度最大的一輛車的喜愛程度正好等於k,且這k輛車中沒有兩輛車的喜愛程度是相同的。小球球希望知道k的最大值為多少。

第一行乙個整數n,表示小球球擁有的玩具數量。 接下來n行,每行乙個整數,表示value[i]。

乙個整數k,即答案。62

4132

141<=value[i]<=10^6

10%的測試資料 n<=10^5。

100%的測試資料 n<=10^6

拿個單調佇列維護一下,維護單調遞增,然後隊頭出隊的條件就是有相同分數的車進來了

太久沒寫單調佇列了$wa$了兩三次...

$upd:$這題資料好像太水了。直接輸出最大值也可以過,然後我這個單調佇列好像有點鍋...(我當時是怎麼過去的)

#include using

namespace

std ;

const

int n = 1e6 + 10

;int

q[ n ], a[ n ] , vis[ n ] ;

intn ;

intmain()

else

if( i - ql + 1 == a[ q[ l ] ] ) ans =max( ans , a[ q[ l ] ] ) ;

}printf(

"%d\n

", ans ) ;

return0;

}

BZOJ 1307 玩具(資料太弱)

小球球是個可愛的孩子,他喜歡玩具,另外小球球有個大大的櫃子,裡面放滿了玩具,由於櫃子太高了,每天小球球都會讓媽媽從櫃子上拿一些玩具放在地板上讓小球球玩。這天,小球球把所有的n輛玩具擺成一排放在地上,對於每輛玩具i,小球球都會給它塗上乙個正整數value i 以表示小球球對該玩具的喜愛程度,value...

BZOJ1010 玩具裝箱 DP決策單調性

題目這裡 首先可以得到方程 f i max 顯而易見該方程具有單調性,因此可以使用決策單調性優化,維護乙個下凸殼,每次將當前隊首決策取出直至當前決策為最優,然後將當前點加入隊尾,若有斜率小於當前點的則先取出後加入。user small language c problem no.1010 inclu...

NKOJ 1533 玩具(三分 貪心 單調佇列)

問題描述 bessie的生日快到了,她希望用d 1 d 100,000 70 的測試資料都滿足1 d 500 天來慶祝.奶牛們的注意力不會太集中,因此bessie想通過提供玩具的方式來使它們高興.她已經計算出了第i天需要的玩具數t i 1 t i 50 bessie的幼兒園提供了許多服務給它們的奶牛...