树链剖分
YiPeng_Deng
这个作者很懒,什么都没留下…
展开
-
JZOJ6869. 【2020.11.17提高组模拟】pastel
Description n≤3e5,q≤5e5n\le3e5,q\le5e5n≤3e5,q≤5e5 Solution 考虑维护每一个黑点,如果没有修改,子树查询可以把子树内的每一个黑点的w∗cntw*cntw∗cnt求和,再考虑这个点的归属点权值vvv,贡献v∗(szx−∑cnt)v*(sz_x-\sum cnt)v∗(szx−∑cnt),单点查询可以直接询问归属点的权值,用一个线段树维护上面的值,以及4操作。 如果有加入黑点的操作,简单维护一下上面的东西,把新黑点的权值变为它的归属点的权值。 如原创 2020-11-18 09:25:21 · 323 阅读 · 0 评论 -
CF504E Iron Man
CF504E Iron Man 一个边权为111的nnn个点的树上有mmm个人在运动,第iii个人从viv_ivi以cic_ici的速度在tit_iti时刻出发前往uiu_iui 求最早什么时候有两个人相遇(可以在边上)。 n,m≤1e5n,m\le1e5n,m≤1e5。 Solution 首先树剖,变成链上的问题。 如果以时间为横坐标,深度为纵坐标,那么一个运动的人就是一条线段,现在要求若干条线段最早在什么地方相交。 显然一条线段相交的线段是在它加入的时候距离它最近的,否则在更早原创 2020-10-23 19:20:11 · 140 阅读 · 0 评论 -
【CSP-S2019D2T3】树的重心
Description Solution 考场上没有足够的时间,也并没有打二叉树的,所以只有55分了。。。。 首先树的重心有几个性质我居然一直不知道!(虽然题面里面都有提及,但是我居然将它们忽略了)。 1.树的重心当且仅当最大的子树大小小于n/2。如果不是的话可以通过往大于n/2的子树中调整获得更优的答案。再推一下可以发现,当这个时候的重心的最大子树的size为n/2且n为偶数的时候,这个儿...原创 2019-11-25 21:44:23 · 606 阅读 · 0 评论 -
【LCT时间复杂度】JZOJ6257. 【省选模拟8.9】修路
Description n<=1e5 Solution 考虑颜色覆盖的操作与LCT中的Access操作类似,所以可以(证明)得到连续段颜色的个数之和为nlogn级别的。 直接用LCT,每一个splay树都代表同一种颜色,刚开始有n棵,即每一条边都是虚边,然后Access一下,与LCT完全一样,再用个树状数组求逆序对个数。 当然离线下来用树链剖分,每条链用一个set维护不同的颜色也可以(难...原创 2019-08-09 20:02:19 · 544 阅读 · 0 评论 -
JZOJ6359. 【NOIP2019模拟2019.9.15】小ω的树
Description 点数n<=3e5,询问m<=3e4 Solution 显然有一种暴力的想法,按照边权从大到小排序,然后连边,答案就是最大的:当前连通块的点权和sum*当前的边权val。 根据连边(并查集)的顺序,我们可以构造出一颗克鲁斯卡尔重构树 克鲁斯卡尔重构树: link(x,y):新建z,fa[x]=z,fa[y]=z; 考虑如果将a[u]变成v,那么对于包括...原创 2019-09-17 22:13:18 · 316 阅读 · 0 评论