Mys_C_K的博客

吾自撷高山之月色,独随足落处往行。

statement - 基环树 - 虚树 - 倍增

这个题写的真爽翻了。 题目大意就是给你一个树和基环树森林(内向),边有权,每次询问给你两个点集,问所有黑点到白点的路径中,边权最大值最小是多少。 题解:首先考虑树,直接建出虚树来跑一遍dfs即可。然后每个环会选出一些点来,那些点先计算出一个贡献,你只要把环倍长然后那些点排个序,在上面做倍增即可。 ...

2018-09-27 09:24:46

阅读数:64

评论数:0

「学习笔记」网络战争 - KD-Tree - 最小割树 - 学习笔记

题目大意就是让你实现一个KDT和最小割树(大雾) 然后发现两个都不会,就赶紧去学习了一发姿势。 顺带练习了一发namespace都的使用姿势。 KDT本质上就是个做剪枝的过程,很好理解。 最小割树是这样的,每次随便选择一个S和T,然后求出最小割w,然后在最小割树上连(S,T,w)即可。然后一对点的...

2018-09-22 17:13:07

阅读数:42

评论数:0

红黑树 - 贪心

给定一棵有根树,根为1,边有边权,点有颜色(红色或黑色)。1号点一定是红色。定义一个红点的价值是0,黑点的价值是它到距离它最近的红色祖先的距离。有m次询问,每次给出k个点,你可以改变树上的最多一个点的颜色(根除外),在此前提下求给出的k个点的权值的最大值最小是多少。注意每次询问是独立的,也就是说你...

2018-09-19 15:05:19

阅读数:45

评论数:0

直径 - 树dp

题目大意:给你一颗树T,1为根。 新建m颗树为森林,每颗树都是T的一个子树。 将这个森林连接起来,每次形如把第a颗树中的b点和第c颗树中的d点连起来。 最后求这玩意的直径。 题解: 显然可以虚树dp,没写。 考虑首先对T的每个点求其子树直径。 有个结论是这样的,两个树连一条边形成一颗...

2018-09-09 19:20:11

阅读数:42

评论数:0

HDU5770 Treasure - LCA - 扫描线 - 线段树

传送门 题目大意:……给定一棵树,有若干三元组(u,v,w)表示有一个宝箱在v,其唯一对应的钥匙在v,且宝箱价值是w(可能为负)。 让你选一条简单路径(有向),每到一个点要求必须先拿起钥匙(如果有的话),然后必须打开宝箱(如果有宝箱并且手上已经有钥匙了),最大化价值之和。 题解:思路过程如下...

2017-07-15 17:02:14

阅读数:209

评论数:0

POJ 2763 Housewife Wind - LCA - 树状数组

传送门 题目大意:给定一棵树,支持修改边权和查询两点距离。 显然可以链剖去做。但是注意到dis(x,y)=dis(1,x)+dis(1,y)-2*(dis(1,LCA(x,y)))。 然后修改到x的边的边权等价于让x子树中的所有点的dis(1,y)+=c。 然后显然可以用BIT维护。 ...

2017-07-15 16:06:45

阅读数:181

评论数:0

POJ 3417 Network

传送门 题目大意:给定一棵树和若干条边,问删去树上的一条边和给定的边中的一条使得图不联通的方案数。 题解: 首先注意到,把树上的一条边断掉变成的两个联通块,如果这两个联通块之间恰好有1条给定的边那么方案数+1. 如果没有那么再任意删去一条即可,方案数+(给定的边数) 那么一个显然的做法就...

2017-07-11 21:02:27

阅读数:180

评论数:0

POJ 3728 The merchant - LCA

传送门 题目大意:给定一棵树,点有点权,若干询问,每次询问从u到v的路径(v到u不算)中,选择一个点的点权和之后的一个点的点权,使得之后这个点的点权减去之前这个点的点去之差最大。 题解:首先肯定要求LCA。 看网上说什么并查集之类的好麻烦啊不明觉厉。 我的做法非常简单,考虑求LCA时候依次...

2017-07-11 18:40:17

阅读数:158

评论数:0

[AHOI2008] BZOJ 1787 Meet紧急集合-LCA

题目链接:右转进入题目 题目大意:请自行参考题目; 做法: 其实注意到,三个点,两两搭配,会有三个LCA;可以证明,这三个LCA至少有两个是相同的; 不妨设相同的是LCA1和LCA2,可以证明,如果选择LCA3作为答案,由于边权为1,那么花费达到最小值。 更进一步的说,这个最小值就是虚树...

2017-04-09 14:20:07

阅读数:185

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭