File failed to load: https://cdn.bootcss.com/mathjax/2.7.5/extensions/MathMenu.js

随笔分类 -  树链剖分

摘要:一道经典的带修改树链第 $k$ 大的问题。 我只想出三个 $\log$ 的解法。。。 整体二分+树剖+树状数组。 那不是暴力随便踩的吗??? 不过跑得挺快的。 $Code\ Below:$ cpp // luogu judger enable o2 include define lowbit(x) 阅读全文
posted @ 2019-02-03 17:56 Owen_codeisking 阅读(180) 评论(0) 推荐(0) 编辑
摘要:听说正解点分树?~~我不会就对了~~ 此题是 $[LNOI2014]LCA$ 强化版,也是差分一下,转化为区间加区间和 不过权值有大小要求,那么我们按照权值排序,依次加入主席树,询问的时候 $lower\_bound$ 一下找到区间 $[l,r]$ 在主席树上实现区间加,肯定要标记永久化。每次最多修 阅读全文
posted @ 2019-01-05 20:22 Owen_codeisking 阅读(219) 评论(0) 推荐(1) 编辑
摘要:$\%\%\% Fading$ 此题是他第一道黑题(我的第一道黑题是蒲公英) 一直不敢开,后来发现是差分一下,将询问离线,树剖+线段树维护即可 $Code\ Below:$ cpp include define pii pair define mp make_pair define F first 阅读全文
posted @ 2019-01-05 20:15 Owen_codeisking 阅读(162) 评论(0) 推荐(0) 编辑
摘要:看到大家的题解,没看懂$qwq$,所以我来发一下题解 首先,线段树要动态开点,不然对于每个宗教开一个线段树会炸的。这个树剖是肯定要敲的。对于每次记录一下每一个宗教的$Root$,运用主席树的思想维护 最后就是前排$orz$ @我是一个菜鸡 是他帮我调出来了几个十分搞笑的错误,帮他安利一下他的题解(应 阅读全文
posted @ 2018-10-09 14:19 Owen_codeisking 阅读(509) 评论(1) 推荐(0) 编辑
摘要:开始复习$NOIP$啦! 树链剖分是一种非常实用的算法,树的重链最多只有$logn$条,所以它的复杂度是$O(nlogn)$ 如果树再套上一个线段树,那么复杂度多乘一个$logn$ 那么线段树怎么表示区间呢?可以用$dfs$序修改,多开一个$id[i]$表示$i$节点在线段树的位置 我们记录一个节点 阅读全文
posted @ 2018-09-04 14:37 Owen_codeisking 阅读(253) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示