給定乙個序列,對於每乙個數都要查詢:序列中在這個數前與這個數最接近的數是什麼?然後將最接近的數字與這個數字的差累加。(序列第乙個數字直接加自己)
查詢在這個數之前與這個數最接近的數,我們很容易想到用二叉搜尋樹(bst)來做。
雖然資料略水暴力排序每次查詢從乙個數往左右找也能過。
#include #include #include #include #include #include using namespace std;
inline int randad()
struct treap t[33333];
int cnt=1,rt=0;
void rotate(int p,int &rt)
void ins(int key,int &rt)
; else
}int nowmin(int key,int rt)//查詢現在最接近key的數
int n,tot=0;
int main()
printf("%d",tot);
return 0;
}
洛谷P2234 HNOI2002 營業額統計
tiger最近被公司公升任為營業部經理,他上任後接受公司交給的第一項任務便是統計並分析公司成立以來的營業情況。tiger拿出了公司的賬本,賬本上記錄了公司成立以來每天的營業額。分析營業情況是一項相當複雜的工作。由於節假日,大減價或者是其他情況的時候,營業額會出現一定的波動,當然一定的波動是能夠接受的...
P2234 HNOI2002 營業額統計
tiger最近被公司公升任為營業部經理,他上任後接受公司交給的第一項任務便是統計並分析公司成立以來的營業情況。tiger拿出了公司的賬本,賬本上記錄了公司成立以來每天的營業額。分析營業情況是一項相當複雜的工作。由於節假日,大減價或者是其他情況的時候,營業額會出現一定的波動,當然一定的波動是能夠接受的...
P2234 HNOI2002 營業額統計
tiger最近被公司公升任為營業部經理,他上任後接受公司交給的第一項任務便是統計並分析公司成立以來的營業情況。tiger拿出了公司的賬本,賬本上記錄了公司成立以來每天的營業額。分析營業情況是一項相當複雜的工作。由於節假日,大減價或者是其他情況的時候,營業額會出現一定的波動,當然一定的波動是能夠接受的...