
点分治
stargazer.
夜を穿つの
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【LOJ #2386】「USACO 2018.01 Platinum」Cow at Large(点分治 / 树状数组)
传送门 不知道为什么lglglg题解里清一色只会用∑d=2m−1→1=2m−∑d\sum d=2m-1\rightarrow 1=2m-\sum d∑d=2m−1→1=2m−∑d容斥做法 设mnleafu\mathit{mnleaf_u}mnleafu表示距点uuu最近的叶子节点的距离 这个可以用脚dfsdfsdfs随便O(n/nlogn)O(n/nlogn)O(n/nlogn)做 对于一个根的...原创 2020-04-26 22:07:50 · 855 阅读 · 0 评论 -
【LOJ #3070】「2019 集训队互测 Day 1」最短路径(分治 / NTT / 点分治)
传送门 想一秒,写一年 找出环,对于每个子树点分+NTT+NTT+NTT即可 对于环 分治计算即可 复杂度O(nlog2n)O(nlog^2n)O(nlog2n) #include<bits/stdc++.h> using namespace std; #define cs const #define re register #define pb push_back #define p...原创 2020-04-16 17:19:21 · 380 阅读 · 0 评论 -
【Codeforces 566 C】Logistical Questions(求导+点分治)
传送门 由于x32x^{\frac 3 2 }x23是单调函数 在一条链上可以二分看往哪边更优 求导加起来即可得到变化量 在树上就点分就可以了 #include<bits/stdc++.h> using namespace std; #define cs const #define re register #define pb push_back #define pii pair&l...原创 2020-01-18 17:45:39 · 365 阅读 · 0 评论 -
【LOJ#2249】「NOI2014」购票(点分治+斜率优化DP)
传送门 显然的斜率优化DPDPDP 第一眼想到的是用可持久化数组维护单调栈 但是觉得懒得写就放弃了 点分治后用重心向上的链更新重心子树 感觉也可以看做树上CDQCDQCDQ一样的东西 代码写的我自己很丑 #include<bits/stdc++.h> using namespace std; #define cs const #define re register #define pb...原创 2019-11-07 22:12:03 · 200 阅读 · 0 评论 -
【洛谷P3345】【ZJOI2015】—幻想乡战略游戏(动态点分治)
传送门 由于基础的求带权重心都是O(n)O(n)O(n)的 考虑优化,考虑到以uuu为根的树 如果重心在儿子vvv的子树,那么显然以vvv为补给站也肯定会比uuu优 那么我们可以在树上二分,每次看带权重心在哪颗子树暴力跳 多次询问可以点分树来解决二分 考虑具体实现 我们记录一个dis1dis1dis1表示点分树中uuu的子树到uuu的贡献 dis2dis2dis2表示uuu对点分树的父亲的贡献 ...原创 2019-02-16 09:08:17 · 251 阅读 · 0 评论 -
【Codechef】—Prime Distance On Tree(点分治+FFT)
传送门 fftfftfft水题 看到询问路径就想到点分治 令cnt[i]cnt[i]cnt[i]表示当前中心,深度为iii的点的个数 ans[i]ans[i]ans[i]表示长度为iii的路径的个数 则ans[i]=∑j=0icnt[j]∗cnt[i−j]ans[i]=\sum_{j=0}^{i}cnt[j]*cnt[i-j]ans[i]=∑j=0icnt[j]∗cnt[i−j] 也就是cntc...原创 2019-03-14 16:06:31 · 379 阅读 · 0 评论 -
【BZOJ1758】【WC2010】—重建计划(点分治+分数规划)
传送门 %%%wcrwcrwcr太巨辣 一眼分数规划,二分一个midmidmid,每条边减去midmidmid,现在就变成了是否存在一条路径满足L≤len≤UL\le len\le UL≤len≤U且权值和大于000 显然可以点分治 考虑对于当前分治中心,处理出一个fff表示已经遍历的子树中的每个深度的最大值,然后遍历当前某个子树,再处理出每个深度的最大值,然后就可以维护一个单调队列来做了 但是发...原创 2019-03-12 07:58:32 · 270 阅读 · 1 评论 -
【BZOJ3451】【Tyvj1953】—Normal(点分治+NTT)
传送门 Description 某天WJMZBMR学习了一个神奇的算法:树的点分治! 这个算法的核心是这样的: 消耗时间=0 Solve(树 a) 消耗时间 += a 的 大小 如果 a 中 只有 1 个点 退出 否则在a中选一个点x,在a中删除点x 那么a变成了几个小一点的树,对每个小树递归调用Solve 我们注意到的这个算法的时间复杂度跟选择的点x是密切相关的。 如果x是树的重心,那么时间复杂...原创 2019-06-01 18:03:30 · 241 阅读 · 0 评论 -
雅礼集训2019Day2 T2—Bracket(点分治+FFT)
描述 给定一棵有 nnn 个节点的无根树,每个节点上是一个字符,要么是(((,要么是)))。 定义 S(x,y)S(x, y)S(x,y) 为从$ $x 开始沿着最短路走到 yyy,将沿途经过的点上的字符依次连起来得到的字符串。 合法括号序定义如下: 1,()()()是合法的。 2,若 AAA合法,则(A)(A)(A)也合法。 3,若 A,BA, BA,B 分别合法,则 ABABAB 也合法。 函...原创 2019-07-24 14:22:01 · 330 阅读 · 0 评论