![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
文章平均质量分 81
glq007
muyou
展开
-
HOJ 12847 Dwarf Tower (最短路)
题目大意:原创 2014-07-28 20:44:52 · 738 阅读 · 0 评论 -
ZOJ 3811 Untrusted Patrol(dfs+并查集)
此题做法是y原创 2014-09-07 23:03:35 · 629 阅读 · 0 评论 -
poj 1470 Closest Common Ancestors (离线LCA Tarjan)
题意:求每个点作为lca的次数。做法:裸的lca题,离线做法就是利用并查集,关键思想在于对于当前点的询问对应的另一个点已经被访问过了,那么那个点的祖先就是这个询问的lca。AC代码://#pragma comment(linker, "/STACK:102400000,102400000")#include#include#include#include#include#i原创 2015-04-21 00:16:42 · 668 阅读 · 0 评论 -
hdu 5266 pog loves szh III(LCA)
题意:求编号l-r的lca。做法:第一种方法是维护一个类似rmq的东西,因为abcd的lca,可以由ab的lca和cd的lca的lca得到,然后重叠也没有关系,就比如刚才的例子,abcd的lca也可以由abc的lca和bcd的lca的lca得到,所以我们用类似rmq的查询的就可以了。查询2个点的lca写的是树上倍增。第二种方法比较容易想到,就是先dfs一遍找出欧拉序列,然后再rmq预处理一原创 2015-06-09 12:11:38 · 724 阅读 · 0 评论 -
HOJ 13415 Website Tour(强连通缩点+多重背包dp)
题意:每个网站有个广告,看这个广告要花t的时间,能得p的分,最多只能看s次,然后给一些网站以及它所能到达的网站,从一个网站到另一个是不花时间的,但是不能停在同一个网站连续不停的看。现在有T的时间,起点任意,问最大得分。做法:由于都是有向边,所以我们可以把强连通分量缩点了,这其中的点都可以互相到达,再把这些缩后的点给拓扑排序,就是个DAG了,我们就可以dp了,在这个连通分量的点里面就是多重背包了原创 2015-08-24 19:44:23 · 553 阅读 · 0 评论 -
hdu 5420 Victor and Proposition(强连通+线段树建图)
题意:给出一棵树,每个点都给一个x,d,代表它和x这个点以及以下深度差小于d的点都有一条有向边,求互相可达的u,v对数。做法:可以很容易发觉如果我们把点连好然后直接找强连通分量,然后答案就是每个强连通分量大小x*(x-1)/2之和。但是因为点有10000个,边极限可以出到n^2个的。所以我们得简化边的个数。先处理出dfs序,保存一下每个点子树的dfs序范围,可以发现,x以及它之下深度小于d原创 2015-08-25 03:13:43 · 1245 阅读 · 0 评论