树的重心
文章平均质量分 95
Freopen
这个作者很懒,什么都没留下…
展开
-
#6042. 「雅礼集训 2017 Day7」跳蚤王国的宰相
#6042. 「雅礼集训 2017 Day7」跳蚤王国的宰相内存限制:1024 MiB时间限制:2000 ms标准输入输出题目类型:传统评测方式:文本比较上传者: 匿名提交提交记录统计讨论测试数据题目描述跳蚤王国爆发了一场动乱,国王在镇压动乱的同时,需要在跳蚤国地方钦定一个人来做宰相。由于当时形势的复杂性,很多跳蚤都并不想去做一个傀儡宰相,带着宰相的帽子,最后还冒着被打倒并杀头的危险,然而有一只跳原创 2018-01-18 19:41:24 · 914 阅读 · 1 评论 -
树的点分治
CodeForces 150E 通过点分治以及合并子树检查二分的答案用深度从小到大的方式可以剪枝,达到nlog^2(n)的复杂度(不离散化常数巨大,离散化常数依然巨大)#include<cstdio>#include<cstring>#include<cctype>#include<vector>#include<algo...原创 2018-02-14 20:11:41 · 221 阅读 · 0 评论 -
NOI 2014 购票 (树上各种科技)
以前看着这个芳菲菲其弥章的题面以为这题又是什么数据结构神题。。。。。。其实就是 加点横坐标单调但查询斜率不单调的斜率优化 + 时间限制 + 树上查询。解法1(套路解法):因为时间限制,我们用线段树维护每个小区间的凸包,最后求个最小值就行。因为树上查询所以树链剖分。因为这些操作常数都不是很大,时间复杂度分析出来也没啥意思。。。。AC Code:#include<bits/stdc...原创 2019-03-06 20:12:57 · 577 阅读 · 0 评论 -
Query on a tree IV SPOJ - QTREE4(动态点分治)
对于每一个子树存一个set,每一个点存一个set,然后你就可以以OJ最短的代码长度换来OJ上最长的运行时间。。。#include<bits/stdc++.h>#define maxn 100005#define lim 19using namespace std;char cb[1<<15],*cs=cb,*ct=cb;#define getc() (cs==...原创 2019-03-10 10:24:52 · 228 阅读 · 0 评论 -
LOJ #2116. 「HNOI2015」开店(树链剖分+标记永久化主席树 || 动态点分治)
题目解法一:∑i∈[1,n] and x[i]∈[l,r]dis(u,i)=∑idep[u]+dep[i]−2∗dep[lca(u,i)]\sum_{i\in [1,n] \ and \ x[i]\in[l,r]} dis(u,i) = \sum_{i}dep[u]+dep[i]-2*dep[lca(u,i)]i∈[1,n] and x[i]∈[l,r]...原创 2019-03-20 08:48:10 · 194 阅读 · 0 评论 -
LG P3920 [WC2014]紫荆花之恋(Treap+动态点分治+替罪羊树式重构)
题面时代在进步啊,连我这种高一蒟蒻都可以一下午切紫荆花之恋其实这个题的思路对于刷了几道动态点分治的选手来说还是比较裸的。就是一个支持插入点的动态点分治,点分树上需要用平衡树来维护答案而已。嗯。浓厚的OI气息。平衡树在不求奇怪操作的情况下都首选有旋转treap,好写好调速度快。在插入时直接插入,点分树可能会在多次插入后变形,这时用替罪羊树的思想重构点分树。平均重构O(nlogn)O...原创 2019-03-22 20:04:23 · 221 阅读 · 0 评论 -
全局平衡二叉树
对于链分治。每次不仅要处理轻儿子到每个点的贡献,重链中的互相贡献也需要计算。对于树剖,每条链上它是用一个线段树来维护贡献的。但是复杂度还是O(logl)O(\log l)O(logl),如果出题人把lll和hhh(重链长度和深度)平均一下,那么就可以被卡成O(log2n)O(\log^2 n)O(log2n)对于LCT,我们很难处理它过大的常数。那么我们还是考虑树剖。仔细分析可以发现...原创 2019-03-28 08:25:55 · 1605 阅读 · 0 评论