- 博客(4)
- 资源 (4)
- 收藏
- 关注
原创 HDU 2586 LCA
/* 最小公共祖先 题意: 给出一颗无向有边权树, 询问若干个(u,v)对的距离. 所谓LCA 的Tarjan算法, 实际上就是在建树的过程中把query中的lca给计算出来, 所以称为`离线算法` . 是的, 本质就是这么简单, 好多解释都搞复杂了. 步骤略, 自己google. 理解这个算法一定要抓住`递推`的思想(也有递归在里面,
2013-06-19 19:41:03 746
原创 HDU 2377 最短路
/* 最短路, 终点集合到s的最远距离最短,求s. 即已知终点集{d}求一s使得Min{ max{ dis(s, di) } } 好题 思路: 多次单源最短路,选出最大值 在对每个x进行分层搜索的过程中, 用max_d[y]记录每个地区x到达地区y的最短距离中的最大值. 最后求得
2013-06-19 19:39:33 725
原创 HDU 2433 最短路
/* 最短路 好题 题意:给出边建图,然后分别删除各条边,问每一次删边后的所有端点的两两最短路之和,若有一对端点不连通,则返回INF 思路:暴力解法是每次删边后都来n次最短路。这里面的冗余就是删除的边并不影响一些点的最短路树,所以这些点可以不用在删边后都来次dijkstra>。标程解法就是在暴力解法上加上一些剪枝。先预处理出所有点
2013-06-19 19:35:53 720
原创 差分约束小结
差分约束(difference constraints),对,两个关键字要理解好,“difference”简单理解就是两个节点的“差”,对应的就是图中的边权,而“约束”对应的是图的边。图的边权不一定都是正数,之前我一直很奇怪为什么做最短路的时候初始化dis[]为了0也可以,那是因为我没意识到边权可以为负数,而思维定势地想初始化dis[]为0,那0不就是最小路径了吗,但这里差分约束的最短路径常常是负
2013-06-19 19:33:30 654
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人