点分治
alan_cty
蒟蒻一只
别打脸(⊙o⊙)哦
展开
-
阴阳
Description给出一棵n个点的树,每条边有边权1或-1.一条合法的路径(st,en)指路径上存在一个异于端点的点x,使得dis(st,x)=dis(x,en)=0.(dis不解释),求合法路径的数量。 n<=10^5Solution学习(复习)点分治 考虑经过当前重心x的合法路径,可以发现,满足这样的路径都是dis(st,x)+dis(x,en)=0且st到x的路径中有一个点k满足dis原创 2016-05-10 19:02:29 · 847 阅读 · 0 评论 -
GDOI 2016 Day2 T3 机密网络
Description给出一个n个点n条边的无向连通图,每个点有点权Ai,每条边的边权都为1,求所有距离<=k的点对个数以及它们的权值乘积和。 n<=10^5,Solution很明显,原图是一个环套外向树。(就是一个环,外面长了一堆树) 如果没有多的那一条边,那么原题就很明显是经典点分治的题目了。 那我们可以先把环上的那一条边删掉,做点分治,然后再计算它对答案的影响。 这条边的影响就是删边前原创 2016-05-20 18:29:40 · 1231 阅读 · 0 评论 -
【3.16XJ模拟题】圆
Description二维坐标平面内有n个圆,第i个圆圆心在(Xi,Yi),半径为Ri,权值Vi。任何两个圆都不会相交(也不会相切),但是圆与圆之间可能存在包含关系。当我们在一个圆里面的时候,我们必须经过它的边界一次,才能走出这个圆。 对于不同的两个圆A、B,如果可以从A到B且经过不超过K次边界,则称A、B是连通的。现在的问题是:对于所有的连通的一对圆(A,B),权值差的绝对值最大有多少。原创 2016-12-19 12:46:53 · 868 阅读 · 0 评论 -
【NOI2017模拟6.26】A
Description给出一棵树,求树上所有满足路径中任意两个不同点a,b,gcd(a,b)≠agcd(a,b)\not=a的无序路径 n<=1e5Solution先讲讲我在考场上想的辣鸡做法 暴力部分枚举倍数来判断能做到n^2 log n 由于某些奥妙重重的原因这个做法能跑过3*1e4 一条链的话可以预处理出每个点往左/右最多能扩展到的点 然后从左往右扫一遍维护每个点往左能对答案贡献的区原创 2017-06-26 20:46:55 · 642 阅读 · 0 评论 -
【HNOI2015】开店
Description给出一棵二叉树,每个点有点权,多次询问所有点权在[l,r]范围内的点到x的距离和。 强制在线。 n<=1.5*1e5,q<=2*1e5,权值<=1e9Solution为什么年龄可以达到10^9呢?因为有紫asdfjawkejtwlkerj这道题可以直接把虚树用线段树建出来,然后直接在虚树上乱搞,不过我很弱显然不会这种做法。 发现这棵树是二叉树耶,于是我们可以考虑一种又好写原创 2017-12-06 22:54:50 · 559 阅读 · 0 评论 -
【NOI2018模拟3.11】派对
Description给定一棵n个点的树,求有多少种选择m个点的方法,使得存在一个点x,使得所有m个点到x的距离不超过k。 n,m<=1e5Solution感觉自己最近智商下线的厉害啊 考虑如何使一种方案被唯一计算。 就是所有点到x的距离都<=k,并且存在至少一个点到fa[x]的距离>k 如果求出了这个东西我们就可以直接组合数计算答案。 直接求可能比较麻烦,我们不妨求出到x和fa[x]都<原创 2018-03-13 16:44:51 · 269 阅读 · 0 评论