雯舞

Love three things int he world -- Manchery

[交互 点分治] Codeforces 772E VK Cup 2017 - Round 2 E. Verifying Kingdom

本来的想法是能够找出叶子的兄弟 那么就把他们以及他们的父亲缩起来 但是很难找兄弟 看了题解发现是从初始一个点加点 相当于把缩的拆回去 通过点分治 我们找出当前树的重心 这里的重心是以叶子数量为权的 然后ask一下(g的左子树中的叶子,g的右子树中的叶子,当前要加的点) 有一些细节要处理 ...

2017-06-13 22:34:32

阅读数:394

评论数:0

[二进制分组 线段树 || 点分治 分治] UOJ #191 【集训队互测2016】Unknown

详见lzz的集训队论文二进制分组做法二进制分组是在线段树的结构上做的 方便区间查询 至于删除 采用延迟重构的思想 每一层只有最后一个区间是萎的 我们需要递归下去 询问还是O(logn)O(\log n)个节点 重构复杂度势能分析下O(nlogn)O(n\log n) 只有上凸包是有效的 合并的...

2017-05-28 11:15:45

阅读数:839

评论数:0

[矩阵 点分治] BZOJ 4623 Styx

首先我们可以发现g=(x∗ϕ)∗1=(ϕ∗1)∗x=x∗xg=(x*\phi)*1=(\phi*1)*x=x*x 所以 g(n)=n∗d0(n)g(n)=n*d_0(n) 其中 d0(n)d_0(n) 表示nn的约数个数 然后就是树上的问题了 我们知道叉乘不满足结合律 打完之后才知道 汗 但是...

2017-03-17 20:37:13

阅读数:292

评论数:0

[点分树 二分答案] BZOJ 2117 [2010国家集训队]Crash的旅游计划

二分答案后就转化为有多少个数到某点距离小于多少 这就是个裸的点分树啊 复杂度O(nlog3n)O(n \log ^3 n)#include<cstdio> #include<cstdlib> #include<algorithm> #include<v...

2017-03-13 13:32:33

阅读数:436

评论数:0

[点分治 离线] BZOJ 4449 [Neerc2015]Distance on Triangulation

其实简单的找一条边然后分成两半 被我硬生生写成对偶图点分治分成三块 233 就把所有询问一起处理 点分治时 如果两个点在同一侧 就递归 否则对三个点bfs就能知道最短路径#include<cstdio> #include<cstdlib> #include<al...

2017-03-06 20:43:57

阅读数:495

评论数:0

[点分治] AOJ 2687 Balanced Paths

题目大意 求树上合法括号路径的个数 这个 直接考虑点分治 一个合法的括号序列被切成两半 一定可以分别削成长度相等的连续左括号和连续右括号 dfs的时候用两个变量维护类似栈的东西 我们需要两个这样的栈 分别表示从根读到子节点 和 从子节点读到根 两种方向 #include<cstdio...

2017-03-03 20:53:31

阅读数:180

评论数:0

[替罪羊树 动态点分治 替罪羊式重构] BZOJ 3435 [Wc2014]紫荆花之恋 & UOJ #55 【WC2014】紫荆花之恋

网上题解都说的很详细了吧 考虑点分治 dist(i,j)≤Ri+Rjdist(i,j) ≤ R_i+R_j 可以转化成Dj−Rj≤Ri−DiD_j-R_j ≤ R_i-D_i 其中DiD_i表示到重心的距离 开两颗平衡树维护 一颗统计 一颗去重 然后 因为要动态加点 点分树的性质不能保证...

2017-02-26 19:19:02

阅读数:416

评论数:0

[可持久化可并堆 || ST表 点分治] BZOJ 3784 树上的路径

显然是用堆来维护 每弹出一个解 加入其后继 怎么定义后继 经典做法是点分后维护一个类似超级钢琴的东西 首先对这棵树进行点分治,在分治的时候将所有点到根的距离依次放入一 个数组qq中 对于一棵子树里的点,合法的路径一定是qlql到qrqr的某个数加上自己到重心的距离 定义五...

2017-02-23 12:54:28

阅读数:372

评论数:0

[点分治] HihoCoder #1462 Challenge 26 Rikka with Tree IV

考试的时候打死想不出来 然后Evan在边上随口就切掉了... 直接搬题解吧 考虑包含k 个点的链,可以得出任意距离不超过k

2017-01-03 16:16:09

阅读数:509

评论数:0

[点分树] BZOJ 3924 [Zjoi2015]幻想乡战略游戏

%%%CLJ 首先动态维护每个点的答案?动态树分治就好了 怎么找重心 对于分治结构的每一个点,我们枚举它的出边 如果某条出边连向的点的距离之和小于当前点,那么答案一定在那条出边指向的子树中,分治做下去就行了 这样是两个log再乘20的  实际上最优可以一个log 跑的竟然还...

2016-12-27 14:08:33

阅读数:318

评论数:0

[点分树 树状数组] BZOJ 3730 震波

线段树T成翔 只能用vector写BIT 痛苦的回忆啊 思路不难想 先建出点分树 然后每个点对于他掌管的点的距离与权值建成BIT 然后每次查询就是爬点分树 这里有点注意 往树上爬的时候不能中途break,不会因为有一个祖先爬不上去就终止,说不定有一个爷爷比爸爸还近 #include #inc...

2016-12-25 12:06:55

阅读数:331

评论数:0

[并查集 || 点分治 树重心] 2015 计蒜之道 复赛 京东的物流路径

官方题解: 本题有多种解法。首先是点分治的思想,在点分治的时候,我们每一次选取一个中心,先统计过中心的路径最大值,然后删掉中心,递归处理其它子树。统计过中心的路径最大值,我们以中心为根深度搜索一遍,一个需要注意的地方是路径的两个端点不能在同一子树内,因为这样可能会重复统计。所以我们把路径按子...

2016-11-10 18:14:03

阅读数:275

评论数:0

[点分治] LA 7148 LRIP

题意就是要求一棵树上的最长不下降序列,同时不下降序列的最小值与最大值不超过D。 点分 记录经过重心结尾是多少的不降/不升的长度 然后用set维护一个单调的东西来查询 也可以用线段树维护 #include #include #include #include #include #defi...

2016-07-13 16:26:13

阅读数:263

评论数:0

[整体二分 || 树套树 || 点分治] BZOJ 4009 [HNOI2015]接水果

整体二分的做法题解很多:http://blog.csdn.net/thy_asdf/article/details/50363672 点分治么 还不会233 树套树么 ORZ 打的整体二分 #include #include #include using namespace s...

2016-05-16 21:38:12

阅读数:426

评论数:0

[动态树分治] BZOJ4012 [HNOI2015]开店

膜PoPoQQQ:http://blog.csdn.net/popoqqq/article/details/45365043 省选前学动态树分治  跑起来飞快 45s+ 看着提交记录 只能说惨不忍睹 爆int呆滞了一早上 还有因为没删文件 没强制在线 RE的 动态树分治 印象中还有 幻想乡战略游戏...

2016-03-15 12:16:34

阅读数:2205

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭