分治----点分治
长沙橘子猫
这个作者很懒,什么都没留下…
展开
-
P3806 【模板】点分治1
学自:bztMinamoto 点分治是个很容易学的算法,就像拉格朗日插值法,生成函数一样,遇到这种题目不会就是不会,但是算法又很容易学,学起来性价比高,比较推荐大家也学学这些算法… P3806 【模板】点分治1 点分治入门题 #include<bits/stdc++.h> #define pi pair<int, int> #define mk make_pair usin...原创 2019-09-18 21:06:28 · 571 阅读 · 6 评论 -
hdu 4918 Query on the subtree 动态点分治
Query on the subtree 题意:给你一颗有点权边权均为1的树,每次操作要么修改某点点权,要么查询距离u点不超过d距离的所有点权的和 解法:我们根据点分治找出所有的重心并且相连,用树状数组或动态开点线段树维护每个重心的子树的权值信息,每次查询或者修改顺重心树的链往上走依次查询或修改遇到的所有点的子树信息即可。 #include<bits/stdc++.h> #defi...原创 2019-09-19 21:05:14 · 254 阅读 · 0 评论 -
1095: [ZJOI2007]Hide 捉迷藏 线段树维护树直径或者动态点分治
1095: [ZJOI2007]Hide 捉迷藏 快要下班了,先贴线段树代码 #include<bits/stdc++.h> #define ll long long #define ls o * 2 #define rs o * 2 + 1 #define mid (l + r) / 2 using namespace std; const int maxn = 1e5 + 10...原创 2019-09-19 21:07:28 · 272 阅读 · 0 评论