dfs
文章平均质量分 80
kkkkahlua
这个作者很懒,什么都没留下…
展开
-
hdu 2660 Accepted Necklace dp / dfs
题目链接题意:给出 N 块 石头,从中 至多 选取 k 块(不能重复),重量不得超过 W,求最大价值思路:1. dp 三重循环 最外层为 当前考虑的石头,里面两层为 取了多少块 和 重量,这两层先后顺序无所谓,总之都是从大到小然而题意表述不清,以为一定要选取 k 块石头...事实上是至多。AC代码如下:#include #include原创 2017-07-13 23:18:04 · 221 阅读 · 0 评论 -
dfs序 题目小集
参考dfs序题目练习 ——樱花庄的龙之介大人HDU 5692 +线段树题意给定一棵树,有两种操作: 1. 改变某个点 xx 的权值; 2. 定义路径的价值为其上所有点的权值之和,询问以 xx 为根的子树内的点到根的路径的价值的最大值。分析(画好了图上传不了就很气) 1 /\ 2 3 /\4 5对于这样的一棵树,dfsdf原创 2017-08-24 20:51:53 · 1107 阅读 · 0 评论 -
HDU 5877 Weak Pair dfs序 + 树状数组 + 离散化
题目链接题意给定一棵树,点上有权值。问多少对点 (u,v)(u,v) 满足 uu 是 vv 的祖先 且 val[u]∗val[v]≤kval[u]*val[v]\leq k.思路类似dfs序 题目小集-hdu 3887注意点因为 k≤1e18,val≤1e9k\leq 1e18, val\leq 1e9,所以需离散化,离散化的时候可以将 val[i]val[i] 及 k/val[i]k/val[i原创 2017-09-05 17:03:43 · 291 阅读 · 0 评论 -
BZOJ 4551 树 dfs序+线段树 / 并查集
题目链接题意给定一颗有根树(根为1),有以下两种操作: 1. 标记操作:对某个结点打上标记(在最开始,只有结点1有标记,其他结点均无标记,而且对于某个结点,可以打多次标记); 2. 询问操作:询问某个结点最近的一个打了标记的祖先(这个结点本身也算自己的祖先)。法一:dfs序+线段树分析类似于区间修改,单点查询,因为给某个结点打上标记会对它的整棵子树产生影响。 修改的注意点是只有当前修改的情况优原创 2017-08-27 09:18:10 · 283 阅读 · 0 评论 -
dfs序基本类型 详细
参考dfs序七个经典问题 ——weeping本博文又名:手把手教你写树状数组1. 单点修改,子树和查询单点修改,区间查询树状数组维护每个点的权值: 1. 修改xx(增加ww):单点修改——add(x,w); 2. 查询xx的子树:区间查询——ans=query(le[x])-query(ri[x]-1);2. 单点修改,树链和查询首先将 u−vu-v 树链和查询转化成 u−root,v−原创 2017-08-25 20:58:01 · 732 阅读 · 0 评论 -
2017多校联合第三场 1005题 hdu 6060 RXD and dividing (超详细!!!)构造
题目链接题意:给定一棵 n 个节点的树,1 为根。现要将节点 2 ~ n 划分为 k 块,使得每一块与 根节点 形成的最小斯坦纳树的 边权值 总和最大。看了题解之后的思考:题解是:记有向边 (u, v) 长度为 w[v],以点 v 为根的子树的节点总数为 sz[v],那么答案就是 w[v] * min(sz[v], k) 对每个点求个和。题解的说法是:可以通过构原创 2017-08-02 00:00:44 · 925 阅读 · 0 评论 -
poj 3321 Apple Tree 树状数组 dfs序
题目链接参考资料:http://www.cnblogs.com/gj-Acit/p/3236843.html ——再见~雨泉题意:给一棵树,初始时每个节点的 val 均为 1,现有一些操作,Q:将某个节点的 val 取反C:询问以某个节点为根的子树的 val 总和思路:dfs 一遍,将每个点的编号映射到 dfs 序,以 dfs 序来原创 2017-08-06 18:19:40 · 341 阅读 · 0 评论 -
tyvj 1004 滑雪 dfs + dp
题目链接/*先吐槽一发,真的是很容易跑题啊我...本来是在看压位的知识,一篇博文里面推荐了tyvj里一道题(tyvj 2157)。于是我就跑去看,一看发现去年刚转C++时写了一道题还没过(写得还特别丑),所以今天就又捡起来写了一发。之后就跑得更远了...结果到现在还没再看压位...。*/题意:给定一个 n * m 的网格,每个格子有自己的高度,从一个原创 2017-08-09 23:47:00 · 290 阅读 · 0 评论 -
hdu 2196 Computer dfs / 树形dp
题目链接(注(给自己看):写这题时 dfs 的写法还很丑陋(P的痕迹太重...),在之后几篇树形dp的题中会有改观(大概可以称得上))题意:给定一棵树,结点编号为 1 ~ n, 求得树上每一点与跟它距离最远的点之间的距离思路:法一:很快联想到树的直径,因为求树的直径就是:任取一个点做一次深搜,找到的最远的点必然是树直径的一个端原创 2017-07-24 21:21:47 · 273 阅读 · 0 评论 -
2017多校九 hdu6162 02题 Ch's gift dfs序+树状数组+离散化 / 树链剖分+线段树
题目链接题意给定一棵 nn 个节点的树,每个点上有权值。mm 次询问,问 u,vu, v 链上满足权值 a≤val≤ba\leq val \leq b 的点的权值和。思路将一条链拆成四条从某个结点到根节点的链,即转化为问 根节点到某个结点的链上满足权值 a≤val≤ba\leq val \leq b 的点的权值和。离线处理,将从链中拆出来的四个点u,v,lca(u,v),fa(lca(u,v))u,原创 2017-09-14 11:38:41 · 299 阅读 · 0 评论