图论
ars4me
Emirates COOPERTIRES Europcar puma
© Arsenal Broadband Limited 2017
NLondonCOYGGU-ner
展开
-
【模板】最短路径(Floyed&SPFA )
求最短路径是挺重要的一个图论基础知识一般的话有这几种方法:Floyed Dijkstra SPFA(和Ford)差不多… Dij我没有学 只学了Floyed和SPFA 所以先说这两个原创 2017-05-18 14:45:37 · 407 阅读 · 0 评论 -
【图论】[luoguP1364]医院设置
n很小 虽然我们知道它一定是个树 但是 。 有什么用么 我不清楚 当成一个普通的图 先floyd跑最短路 然后n^2枚举把每一个点建医院的价值 最后取最优的原创 2017-10-29 16:47:58 · 290 阅读 · 0 评论 -
【图论】[luoguP1330]封锁阳光大学
挺好的题 已经发布了题解首先需要写两个dfs函数 dfs1和dfs2 且这两个函数在过程中会互相调用 用链式前向星存图 我们先遍历一下每一个edge[i].to 如果它从来没有被dfs1或者dfs2搜到过 我们就用dfs1搜它 然后对于它所在的图 与它相邻的点 我们用dfs2去搜 而且只要是被dfs2搜到的点 我们都ans++原创 2017-10-29 16:14:50 · 319 阅读 · 0 评论 -
【图论】[SCOI2005]繁忙的都市
裸的最小生出树顺手练练克鲁斯卡尔原创 2017-05-20 15:30:11 · 326 阅读 · 0 评论 -
【图论】[SDOI2008]Cave 洞穴勘测
辉辉热衷于洞穴勘测。 某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且每条通道连接了恰好两个洞穴。假如两个洞穴可以通过一条或者多条通道按一定顺序连接起来,那么这两个洞穴就是连通的,按顺序连接在一起的这些通道则被称之为这两个洞穴之间的一条路径...原创 2017-06-17 14:59:50 · 471 阅读 · 0 评论 -
【图论】欧拉路
也就是一笔画问题在一个图中如果能一笔画 就是欧拉路 如果一笔画后的终点就是起点 就是 欧拉回路补充一个概念——奇点 就是度为奇数的点 如果一个图中有2个奇点就 是欧拉路 0个奇点就是欧拉回路原创 2017-10-11 09:36:25 · 360 阅读 · 4 评论 -
【图论】[luoguP2731]骑马修栅栏 Riding the Fences
半年前刚学图论的时候就做过 今天竟然忘了 翻书才想起来欧拉路。。 也就是一笔画问题 深搜就可以了原创 2017-10-11 09:27:26 · 254 阅读 · 0 评论 -
【图论】图的遍历
最近就是光想多打点字 水博客啥的感觉心里很舒服 可以用来发泄 图的遍历 主要两个方式 DFS BFS 应该也算是有模板吧 但我没按模板的格式写 DFS就是从一个点开始搜啊 如果下一个点没搜到过就继续搜啊 这条路到头了就换路搜啊 应该很好实现吧 。 嗯void dfs(ll x){ exist[x] = ture; for(register int i=head[原创 2017-09-22 15:42:17 · 282 阅读 · 0 评论 -
【图论】[NOIP2014]联合权值
做完之后感觉 这个题应该是需要一些数学思想原创 2017-09-15 09:01:52 · 296 阅读 · 0 评论 -
【模板】最小生成树Prim 4heap
终于来填Prim的坑了 代码实现和最短路的Dijkstra差不多 也用的堆优化 大体意思就是说 现在图中选取一个蓝点染成白色 然后遍历与这个点相连的所有边 选取最短的边然后将另一个端点染成白色 再遍历这个点 从所有白点中找最短的 一直这样下去 stl小根堆比较好 便于每次找短的原创 2017-09-15 07:52:36 · 235 阅读 · 0 评论 -
【模板】最小生成树Kruskal
最小生成树问题一般有两种解法 Prim和Kruskal 因为之前学过并查集所以果断选择了学习后者 Kruskal是一种利用并查集来求解最小生成树的算法 它将每一个联通块当作一个集合原创 2017-05-19 15:05:43 · 918 阅读 · 0 评论 -
【图论】[luoguP3905]道路重建
一个变形的最短路问题 我们可以在每次寻找最短路的时候都去维护一个当前的最小花费 当我们知道当前找的这条边不是被摧毁的边的时候 我们则需要在pay[edge[i].to]和pay[u]中找一个较小的而不用再考虑这条边的长度 用的刚学的堆优化dijkstra原创 2017-09-14 07:14:57 · 259 阅读 · 0 评论 -
【图论】[luoguP1551]亲戚
直接并查集搞原创 2017-05-14 18:09:54 · 376 阅读 · 0 评论 -
【模板】最短路径(Dijkstra 4heap)
终于来发堆优化的迪杰斯特拉了 普通的迪杰斯特拉复杂度是O(n^2)的 感觉对于数据大的题和弗洛伊德没什么两样吧 但是堆优化后能到O((m+n) log n) 还比较不错 但不能去搞图中有负边权的情况 我的代码采用了大佬Zheng.HT的模板 用c++的STL优先队列实现 不知道为什么代码看起来那么像SPFA 关于STL 的东西也就不多说了原创 2017-09-13 16:07:40 · 281 阅读 · 2 评论 -
【模板】LCA Tarjan
Tarjan离线算法 这里用来做最近公共祖先 本来是想写一下Tarjan的做法 但是这个博客太好了(Vendetta BlogsJVxie的个人博客) 放这里一起学习吧原创 2017-06-01 14:59:27 · 298 阅读 · 1 评论 -
【模板】并查集
并查集这个东西 其实挺简单的 它是一种用于分离集合操作的抽象数据类型 它处理的是集合之间的关系 即动态地维护和处理集合元素之间的复杂的关系 当然它也能够完成很多的操作 在此不多说了原创 2017-05-12 18:40:41 · 250 阅读 · 0 评论 -
【图论】数组模拟邻接表存储(链式前向星)
图的邻接表存储法 又叫链式存储法 可以用数组模拟定义原创 2017-05-18 21:21:12 · 1276 阅读 · 3 评论 -
【倍增】[luoguP1613]跑路
题目做完之后出现了一个大问题 - - 虽然这是个倍增但这个代码怎么看怎么像DP这道题是一个倍增加最短路的题好题 n很小所以用floyd就够了 当然就算用什么堆优化迪杰斯特拉也没啥用必经倍增就n3n^3 每秒可以跑2^k米 所以可以预处理出1秒钟可以到达的边 再用一个Floyd求出1到n的最短路径就可以了 关于预处理: f[i][u][v]表示u到v能否通过2^i到达 边界条件就是在读入的时原创 2017-10-16 09:22:18 · 194 阅读 · 0 评论