bzoj1058 ZJOI2007 報表統計

2022-03-26 04:15:05 字數 1383 閱讀 4221

傳送門:

【題解】

這個insert操作好py啊是不是用set就能搞搞啊。

什麼?你跟我講t了?

讀入優化?還是t?

卡了卡常,發現乙個東西用priority_queue就夠了。。

然後12s過了。

# include # include 

# include

# include

# include

# include

//# include

using

namespace

std;

typedef

long

long

ll;typedef

long

double

ld;typedef unsigned

long

long

ull;

const

int m = 5e5 + 10

;const

int mod = 1e9+7

;# define rg register

# define st

static

intn, q, a[m];

intbeg[m], end[m];

multiset

num;

multiset

st2;

priority_queue

, greater >st1;

inline

intread()

while

(isdigit(ch))

return x*f;

}inline

void del(int

x) multiset

::iterator it;

inline

void push(int

x)

if(it !=num.begin())

st1.push(ins);

num.insert(x);

}int

main()

char st[23

];

intps, d;

while(q--)

else st2.insert(abs(d -end[ps]));

end[ps] =d;

} else

if(st[4] == '

s') printf("

%d\n

", st1.top());

else printf("

%d\n

", *st2.begin());

}return0;

}

view code

bzoj1058 ZJOI2007 報表統計

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

bzoj1058 ZJOI2007 報表統計

題目大意 給定乙個序列,有多次詢問和修改,將新元素插在原數列位置的後面,詢問相鄰元素差值最小,和數列中兩元素最小的差。stl解法 用乙個set去維護相鄰兩個數差的最小值,用乙個堆去維護所有序列中最小的差 includeusing namespace std define inf 1000000000...

BZOJ1058 ZJOI2007 報表統計

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