
树分治
文章平均质量分 77
TheWolfWhistlingSong
蜜の夜明け
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Bzoj3697:采药人的路径:树的点分治
题目链接:3697:采药人的路径 Orz黄学长 #include #include #include #include #define LL long long using namespace std; const int maxn=200010; int n,tot=1,h[maxn],s[maxn],dp[maxn]; struct edge{int to,next,w;}G[maxn原创 2016-03-29 14:57:55 · 535 阅读 · 0 评论 -
2016.4.06Test:problem1:异或树:动态树的点分治
题目大意:给一棵树有点权有边权,每次操作可以修改一个点的点权,求所有的(a[x]^a[y])*dis(x,y)的和满足(x 20分暴力滚粗QAQ 做法:树分治。那个点权 对于每次更新操作,可以认为是位数次更新,对于每个从1变成0的操作。我们减去树中那一位为0的到该点的路径之和,加上树中那一位为1的到该点的路径之和,从0变成1类似。 问题转换成每次查询所有值为x的点(x∈[0,1])到某原创 2016-04-06 16:28:09 · 801 阅读 · 0 评论 -
Bzoj2599:[IOI2011]Race:树的点分治
题目链接:2599:[IOI2011]Race 做过poj1741都能看出来这是一个点分治 于是我们按照poj1741的方法点分治,每次处理处一颗子树中经过根节点的所有路径,发现并不对,因为这样我们可以再经过根后折返 于是我们记录每条路径的head,即是根节点的哪个儿子,更新答案的时候head相同就跳过 然后本以为就可以AC了,然而10000+ms的时候又Wa了…… 发现我们用单调指针更原创 2016-03-29 11:33:06 · 604 阅读 · 0 评论 -
Bzoj:1758:[Wc2010]重建计划:树的点分治
题目链接:[Wc2010]重建计划 纯粹是为了复习板子,也没有什么思考,感觉是糟蹋了这道题了…… #include #include #include #include using namespace std; const int maxn=200010; const int inf=1000000000; const double eps=1e-4; int n,m,s[maxn],dp[m原创 2016-04-21 16:24:19 · 977 阅读 · 1 评论