BZOJ 1307 玩具(資料太弱)

2021-09-10 18:26:51 字數 1089 閱讀 8260

小球球是個可愛的孩子,他喜歡玩具,另外小球球有個大大的櫃子,裡面放滿了玩具,由於櫃子太高了,每天小球球都會讓媽媽從櫃子上拿一些玩具放在地板上讓小球球玩。 這天,小球球把所有的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,然後查題解,檢查衝思考過程中,發現這個題的資料很水,只考慮無重複數的段的最大值是否等於長度就能a,,但其實最大值《長度也可以,,也有最大值取不到,取的是次大值等情況

例如:資料:6

7 1 2 3 4 5

錯誤**但能ac:然而過不了上面這組資料

#include#include#include#include#include#include#define inf 0x3f3f3f3f

using namespace std;

//typedef long long ll;

const int maxn=1e6+10;

int n,t,m;

int a[1000005],ans;

int s[1000005],l,r,ll,rr;

mapma;

int main()

}printf("%d\n",ans);

return 0;}/*

6 1 2 3 4 5 7

*/

BZOJ1307 玩具 單調佇列

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

BZOJ 1010 玩具裝箱

預處理字首和su mi j 1i ai,為區間求和作準備。這顯然是dp。設f i 表示前 i 件玩具花的最小費用。則有 邊界條件 f0 0 動態轉移方程 fi min fj i j 1 s umi sumj l 2 答案 fn 直接求解,時間複雜度為o n2 顯然會tle。考慮斜率優化。原來的方程太...

BZOJ1054 移動玩具

time limit 10 sec memory limit 162 mb submit 2741 solved 1537 submit status discuss 在乙個4 4的方框內擺放了若干個相同的玩具,某人想將這些玩具重新擺放成為他心中理想的狀態,規定移動 時只能將玩具向上下左右四個方向移...