会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
walfy
博客园
首页
新随笔
联系
管理
随笔分类 -
树--树分治
Codeforces Round #503 (by SIS, Div. 1)E. Raining season
摘要:题意:给一棵树每条边有a,b两个值,给你一个m,表示从0到m 1,假设当前为i,那么每条边的权值是a i+b,求该树任意两点的最大权值 题解:首先我们需要维护出(a,b)的凸壳,对于每个i在上面三分即可,点对用树分治维护,假设当前重心是u,那么把u的直接儿子挨个合并凸壳,这一过程用闵可夫斯基和维护,
阅读全文
posted @
2019-03-28 19:40
walfy
阅读(144)
评论(0)
推荐(0)
bzoj2152: 聪聪可可 树分治
摘要:sb树分治 / Problem: 2152 User: walfy Language: C++ Result: Accepted Time:472 ms Memory:3720 kb / // pragma comment(linker, "/stack:200000000") // pragma
阅读全文
posted @
2018-06-30 14:39
walfy
阅读(205)
评论(0)
推荐(0)
HDU - 4812 D Tree 点分治
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4812 题意:有一棵树,每个点有一个权值要求找最小的一对点,路径上的乘积mod1e6+3为k 题解:点分治,挨个把子树更新,每次把子树和现有的map里找满足条件的点对,然后更新子树到map里,map维护的是每个到根
阅读全文
posted @
2018-05-27 16:15
walfy
阅读(173)
评论(0)
推荐(0)
poj2114树分治
摘要:题意:给你一棵树,每条边有权值,求有没有一条链使得权值和为k 题解:和上一题类似,依旧是树分治,只是我们储存结果的时候是判断加起来为k的点对数,刚开始本来想用map存答案,结果就t了,后来用了vector,数组等各种,最后用数组,绝望的把memset改成for就过了。 学到一个新的点:如果我们调用了
阅读全文
posted @
2017-11-11 00:33
walfy
阅读(264)
评论(0)
推荐(0)
POJ1741 经典树分治
摘要:题意:有一棵树,每条边有一个距离,求dis(u,v)<=k的点的对数 题解:树分治,对于一颗树上的两点,要么在同一颗子树上,要么在不同子树上,要么一个点是根,另一个在某一子树上,对于第一种情况我们可以通过递归来变成第二种或者第三种情况。我们对于某一颗子树来说我们先统计dis[u]+dis[v]<=k
阅读全文
posted @
2017-11-10 16:01
walfy
阅读(207)
评论(0)
推荐(0)
公告