BZOJ 1588 HNOI2002 營業額統計

2021-07-25 01:26:29 字數 1321 閱讀 9671

description

營業額統計 tiger最近被公司公升任為營業部經理,他上任後接受公司交給的第一項任務便是統計並分析公司成立以來的營業情況。 tiger拿出了公司的賬本,賬本上記錄了公司成立以來每天的營業額。分析營業情況是一項相當複雜的工作。由於節假日,大減價或者是其他情況的時候,營業額會出現一定的波動,當然一定的波動是能夠接受的,但是在某些時候營業額突變得很高或是很低,這就證明公司此時的經營狀況出現了問題。經濟管理學上定義了一種最小波動值來衡量這種情況: 該天的最小波動值 當最小波動值越大時,就說明營業情況越不穩定。 而分析整個公司的從成立到現在營業情況是否穩定,只需要把每一天的最小波動值加起來就可以了。你的任務就是編寫乙個程式幫助tiger來計算這乙個值。 第一天的最小波動值為第一天的營業額。

【題目分析】

treap複習第二道。

【**】

#include 

#include

#include

#include

#include

#include

#include

#include

#include

using namespace std;

intread()

while (ch>='0'&&ch<='9')

return

x*f;

}#define maxn 3000001

#define inf (0x3f3f3f3f)

#define ll long long

intx,tot=0,rt,val[maxn],num[maxn],lc[maxn],rc[maxn],ans=0,sigma=0;

void lturn (int &k)

void rturn (int &k)

void ins(int &k,int

x) else

if (x>num[k])

else

if (x

lc[k],x);

if (val[lc[k]]>val[k]) rturn(k);

return ;

}}void pre(int k,int

x) ans=num[k];

return pre(rc[k],x);

}void nxt(int k,int

x) ans=num[k];

return nxt(lc[k],x);

}int main()

printf("%d\n",sigma);

}

bzoj1588 HNOI2002 營業額統計

給出n個數,求每個數和它前面每個數的差值絕對值的最小值之和。n 32767 很顯然求前驅後驅。可以離散化後用權值線段樹二分找。也可以直接用splay找。或者還可以離線排完序用雙向鍊錶找。你喜歡就好嘍。orz bzoj上rank1 0ms踩所有人 include include include def...

BZOJ 1588 HNOI2002 營業額統計

treap的入門題,雖然在splay的 裡看到過這題。遇到2個奇葩問題 1 bzoj 上用srand time null 會re 2 這題的資料不完整 time limit 5 sec memory limit 162 mb submit 6820 solved 2250 submit status...

BZOJ1588 HNOI2002 營業額統計

time limit 5 sec memory limit 162 mb submit 20574 solved 8880 submit status discuss 營業額統計 tiger最近被公司公升任為營業部經理,他上任後接受公司交給的第一項任務便是統計並分析公司成立以來的營業情況。tiger...