随笔分类 -  数据结构——点分治/点分树

摘要:n个点的带点权带边权的树,设点权为a[i],边权为b[i] 一棵树有n*(n-1)/2个点对, 定义这棵树的价值为任意两点对的(a[x]^a[y])*dis(x,y) 有m次修改一个点的点权的操作 输出每次修改完点权后这颗树的价值 第i次的修改会影响到第i次之后的修改 第一眼:我靠怎么又是点分树 然 阅读全文
posted @ 2018-04-03 21:42 TRTTG 阅读(548) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3672 法一:线段树维护可持久化单调队列维护凸包 斜率优化DP 设dp[i] 表示i号点到根节点的最少花费 dis[i] 表示 点i到根节点的距离 dp[i]= min { (dis[i]-dis[j] 阅读全文
posted @ 2018-02-26 14:31 TRTTG 阅读(364) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3697 点分治 路径0改为路径-1 g[i][0/1] 和 f[i][0/1]分别表示当前子树 和 已经处理完的兄弟节点子树 中,路径前缀和为i,前面是否还有一个前缀和为i的点 合法的路径分为三类: 1 阅读全文
posted @ 2018-02-25 21:05 TRTTG 阅读(367) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1095 查询最远点对,带修改 显然可以用动态点分治 对于每个点,维护两个堆 堆q1[x] 维护 点分树x的子树中,所有黑点到x的点分树中父节点的距离 堆q2[x]维护 点分树x的子节点的堆q1的堆顶,即 阅读全文
posted @ 2018-02-23 20:58 TRTTG 阅读(266) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3730 点分树内对每个节点动态维护2颗线段树 线段树以距离为下标,城市的价值为权值 对于节点x的两棵线段树: 一棵维护 点分树中,x的子树 的贡献 一棵维护 点分树中,x对x的父节点的贡献 查询和修改时 阅读全文
posted @ 2018-02-22 14:42 TRTTG 阅读(297) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2599 点分治 mi[i] 记录边权和为i时的最少边数 先更新答案,再更新mi数组,换根时清空mi #include<cstdio> #include<iostream> #include<algori 阅读全文
posted @ 2017-12-28 15:57 TRTTG 阅读(365) 评论(0) 推荐(0) 编辑
摘要:http://www.spoj.com/problems/FTOUR2/ After the success of 2nd anniversary (take a look at problem FTOUR for more details), this 3rd year, Travel Agent 阅读全文
posted @ 2017-09-11 14:43 TRTTG 阅读(234) 评论(0) 推荐(0) 编辑
摘要:2599: [IOI2011]Race Description 给一棵树,每条边有权.求一条简单路径,权值和等于K,且边的数量最小.N <= 200000, K <= 1000000 给一棵树,每条边有权.求一条简单路径,权值和等于K,且边的数量最小.N <= 200000, K <= 100000 阅读全文
posted @ 2017-03-16 08:04 TRTTG 阅读(270) 评论(0) 推荐(0) 编辑
摘要:2152: 聪聪可可 http://www.lydsy.com/JudgeOnline/problem.php?id=2152 Description 聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃、两个人都想玩儿电脑(可是他们家只有一台电脑)……遇到这种问 阅读全文
posted @ 2017-02-08 19:35 TRTTG 阅读(323) 评论(0) 推荐(0) 编辑
摘要:POJ 1741 Tree Description Give a tree with n vertices,each edge has a length(positive integer less than 1001). Define dist(u,v)=The min distance betwe 阅读全文
posted @ 2017-02-08 16:31 TRTTG 阅读(1807) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示