随笔分类 -  I-数据结构-主席树

摘要:Link: BZOJ 3196 传送门 Solution: 最直观的的思路是用线段树套平衡树 不过一看到区间第$k$大就又忍不住去写最近刚练的带修改主席树了 感觉自己数据结构题灵活变通的能力还不够强啊,一开始$naive$得觉得不好算排名…… 区间第$k$大和修改的操作和$Dynamic Ranki 阅读全文
posted @ 2018-07-25 22:36 NewErA 阅读(170) 评论(0) 推荐(0)
摘要:Link: BZOJ 3932 传送门 Solution: 一道比较基础的数据结构题吧,然而一开始我想的还是两个$log$…… 明显看出我们是要对每一个时刻$x$维护各个权值区间内数的个数及数的和,主席树的经典模型 在一开始建树时可以使用前缀数组差分的方式: 对于任务$(l,r,x)$,修改$<l, 阅读全文
posted @ 2018-07-24 22:14 NewErA 阅读(173) 评论(0) 推荐(0)
摘要:Link: BZOJ 3123 传送门 Solution: 主席树+启发式合并 以前好像做的主席树都是在序列上的……在树上的主席树这样处理: 每个节点的主席树维护其到根节点的路径上的值,以其父节点为模板构造 那么为了取出$(u,v)$路径上的值用$seg[x]+seg[y]-seg[lca]-seg 阅读全文
posted @ 2018-07-23 22:36 NewErA 阅读(180) 评论(0) 推荐(0)
摘要:Link: BZOJ 3295 传送门 Solution: 虽说这是道$cdq$分治的基础题,但既然在练数据结构就用主席树写吧 (其实是我$cdq$分治没学好) 首先可以通过树状数组求出总的逆序对对数和每个数能组成的对数$cnt[i]=pre[i]+suf[i]$ 接下来如果删除了第$i$位,最多删 阅读全文
posted @ 2018-07-23 22:35 NewErA 阅读(194) 评论(0) 推荐(0)
摘要:Link: BZOJ 1901 传送门 Solution: 带修改主席树的模板题 对于静态区间第$k$大直接上主席树就行了 但加上修改后会发现修改时复杂度不满足要求了: 去掉/增加第$i$位上的值时要更新$i...n$间所有的主席树,使得单次修改的复杂度达到$n*log(n)$ 可以将原来的主席树看 阅读全文
posted @ 2018-07-23 22:18 NewErA 阅读(163) 评论(0) 推荐(0)
摘要:Link: BZOJ 3218 传送门 Solution: 由于染色将点集分为两块,想到最小割模型 最大化权值可以看成总和减去最小化损失,于是由“最大割” > 最小割 (1)网络流建图 $<S,i,b[i]>$割掉表示选白色,$<i′,T,w[i]>$割掉表示选黑色, 接下来对于“奇怪的点对”$(i 阅读全文
posted @ 2018-06-03 21:42 NewErA 阅读(203) 评论(0) 推荐(0)
摘要:Link: BZOJ 2653 传送门 Solution: 针对中位数问题的特殊处理: 假设中位数为$x$,那么把小于$x$的赋值−1,把大于等于$x$的赋值+1 然后看看是否有连续的一段$sum\ge 0$,如有则保证能取到这样的$x$ 如果$sum$大于0则证明答案应该更大,相反答案应该更小 $ 阅读全文
posted @ 2018-05-24 10:30 NewErA 阅读(259) 评论(0) 推荐(0)
摘要:BZOJ 传送门 Luogu 传送门 BZOJ的sillyB评测机各种无故CE,只好去Luogu上A了o(╯□╰)o Solution: 从数据范围可以发现,这其实是2道题: (1)一个$R*C$的矩形,每次询问一个子矩形的结果,$R,C\le 200$,$A[i][j]\le 1000$。 (2) 阅读全文
posted @ 2018-05-21 09:07 NewErA 阅读(193) 评论(0) 推荐(0)