題意:對於n天的營業額,你需要求出每天營業額與當天前的營業額差值的最小值的和。
思路:感覺挺裸的sbt,對於每天的營業額x,插值,求x與x的前驅的差值d1,求x的後繼與x的差值d2(ps:這裡的前驅後繼的可以等於x),用乙個treap就可以過了。
code:
#include #include #include #include #include using namespace std;
//mystery_sky
//#define m 1000100
#define inf 0x3f3f3f3f
#define ll long long
inline int read()
while(c>='0'&&c<='9')
return x*f;
}struct treapa[m];
int tot, root, n, ans;
inline int new(int val)
inline void update(int p)
inline void build()
inline void right_rotate(int &p)
inline void left_rotate(int &p)
void insert(int &p, int val)
if(val == a[p].val)
else if(val < a[p].val)
else
update(p);
}int query_pre(int val)
return ans;
}inline int query_next(int val)
return ans;
}int main()
} printf("%d\n", ans);
return 0;
}
P2234 HNOI2002 營業額統計
tiger最近被公司公升任為營業部經理,他上任後接受公司交給的第一項任務便是統計並分析公司成立以來的營業情況。tiger拿出了公司的賬本,賬本上記錄了公司成立以來每天的營業額。分析營業情況是一項相當複雜的工作。由於節假日,大減價或者是其他情況的時候,營業額會出現一定的波動,當然一定的波動是能夠接受的...
P2234 HNOI2002 營業額統計
tiger最近被公司公升任為營業部經理,他上任後接受公司交給的第一項任務便是統計並分析公司成立以來的營業情況。tiger拿出了公司的賬本,賬本上記錄了公司成立以來每天的營業額。分析營業情況是一項相當複雜的工作。由於節假日,大減價或者是其他情況的時候,營業額會出現一定的波動,當然一定的波動是能夠接受的...
P2234 HNOI2002 營業額統計
題目鏈結 平衡樹練手題,我們看它這個數列是動態插入的,所以自然而然就會想到用平衡樹來維護。平衡樹splay推薦大家看這篇部落格 其實差的最小值只有可能是它與其前驅或後繼之差,不然就沒有更小的了。因為節點是動態插入的,根據splay的性質,我們為保證複雜度,就會每次將操作節點旋到根,而他的前驅和後繼必...