一名苦逼的OIer,想成为ACMer

Iowa_Battleship

随笔分类 -  线段树合并

洛谷4556 [Vani有约会]雨天的尾巴
摘要:"原题链接" 每个点开一个权值线段树,然后用树上差分的方法修改,最后自底向上暴力线段树合并即可。 不过空间较大,会$MLE$,写个内存池就可以了。 cpp include include using namespace std; const int N = 1e5 + 10; const int M 阅读全文

posted @ 2018-11-02 18:30 Iowa_Battleship 阅读(182) 评论(0) 推荐(0) 编辑

BZOJ2212或洛谷3521 [POI2011]ROT-Tree Rotations
摘要:"BZOJ原题链接" "洛谷原题链接" 线段树合并裸题。 因为交换子树只会对子树内部的逆序对产生影响,所以我们计算交换前的逆序对个数和交换后的个数,取$\min$即可。 对每个叶子节点建一棵动态开点线段树,然后向上合并并更新答案。 而逆序对可以在线段树合并的过程中算出来,因为是权值线段树,根据$mi 阅读全文

posted @ 2018-11-02 15:27 Iowa_Battleship 阅读(107) 评论(0) 推荐(0) 编辑

导航