
数据结构-树套树
Endless_Way
这个作者很懒,什么都没留下…
展开
-
BZOJ 3295 [Cqoi2011]动态逆序对
树状数组套线段树线树状数组维护一整个序列,线段树维护当前区间的元素取值。单次操作O((logn)^2)题不错,就是有点卡内存- -#include<cstdio> #include<cstring> #define N 100005 #define lowbit(_i) (_i&-_i) #define ll long long using namespace std; int n, a[N], p原创 2016-10-18 09:29:49 · 283 阅读 · 0 评论 -
BZOJ 4137 [FJOI2015]火星商店问题
线段树套trie+可持久化trie or 分治分治的做法比较神,还没看,先讲讲数据结构。对于特殊商品,肯定是可持久化trie来搞。对于其他商品,对商店1~n建线段树,每个节点下建trie树,维护数字出现的最迟时间即可。然而我被卡内存了,在别的OJ上过了,就当能过吧。。。#include<cstdio> #define N 100005 #define ll long long using name原创 2016-12-03 13:44:11 · 865 阅读 · 0 评论 -
BZOJ 3594 [Scoi2014]方伯伯的玉米田
DP+二维树状数组显然一次操作[l,r]不优于操作[l,n],然后就可以DP。方程是一个三维前缀最大值,套上二维树状数组即可。 发生了一些奇怪的事,我这么傻比,有救吗? #include<cstdio> #include<cstring> #define N 10005 #define K 505 #define A 5555 #define lowbit(_i) (_i&-_i) #define cma原创 2017-03-19 13:58:45 · 439 阅读 · 0 评论 -
BZOJ 3489 A simple rmq problem
可持久化树套树发现这是一个多维偏序,可持久化树套树即可。#include<cstdio> #include<algorithm> #define N 100005 using namespace std; namespace runzhe2000 { int read() { int r = 0; char c = getchar(); for(;原创 2017-04-27 23:42:08 · 374 阅读 · 0 评论