bzoj1058 ZJOI2007 報表統計

2022-03-27 08:32:50 字數 917 閱讀 4528

題目大意 :給定乙個序列,有多次詢問和修改,將新元素插在原數列位置的後面,詢問相鄰元素差值最小,和數列中兩元素最小的差。

stl解法:用乙個set去維護相鄰兩個數差的最小值,用乙個堆去維護所有序列中最小的差

#includeusing

namespace

std;

#define inf 1000000000

#define maxn 500005

int ed[maxn],st[maxn];//

記錄序列中每個位置的第乙個和最後乙個元素

intn,m;

multiset

a,b;

mapmp;

priority_queue

< int,vector,greater >k;

inline

int read()//

加了快讀才能在bzoj卡過去

while(ch>='

0'&&ch<='9')

return x*f;

}void insert(int

x) void push(int

x)int

main()

for(int i=2;i<=n;i++)

char s[15];int

q,y;

for(int i=1;i<=m;i++)

insert(abs(ed[q]-y));

insert(abs(y-st[q+1

]));

ed[q]=y;push(ed[q]);

}else

if(s[4]=='s'

)

else printf("

%d\n

",*a.begin());

}return0;

}

bzoj1058 ZJOI2007 報表統計

小q的媽媽是乙個出納,經常需要做一些統計報表的工作。今天是媽媽的生日,小q希望可以幫媽媽分擔一些工作,作為她的生日禮物之一。經過仔細觀察,小q發現統計一張報表實際上是維護乙個可能為負數的整數數列,並且進行一些查詢操作。在最開始的時候,有乙個長度為n的整數序列,並且有以下三種操作 insert i k...

bzoj1058 ZJOI2007 報表統計

傳送門 題解 這個insert操作好py啊是不是用set就能搞搞啊。什麼?你跟我講t了?讀入優化?還是t?卡了卡常,發現乙個東西用priority queue就夠了。然後12s過了。include include include include include include include usi...

BZOJ1058 ZJOI2007 報表統計

bzoj1058 zjoi2007 報表統計 小q的媽媽是乙個出納,經常需要做一些統計報表的工作。今天是媽媽的生日,小q希望可以幫媽媽分擔一些工作,作為她的生日禮物之一。經過仔細觀察,小q發現統計一張報表實際上是維護乙個可能為負數的整數數列,並且進行一些查詢操作。在最開始的時候,有乙個長度為n的整數...