图
文章平均质量分 76
kkkkahlua
这个作者很懒,什么都没留下…
展开
-
usaco2.4 cowtour
题目链接题意:整个图由若干个连通分量构成,在图中加一条边,使两个原本不连通的分量连通,得到一个新的连通分量。要求,使得新的连通分量的直径最小。直径 = max{两两点对之间最短距离}.求这样的最小直径。思路:考虑两块不连通的 G1 与 G2,在它们之间 u v 间新加一条边得到新的 G,那么 G 的直径必然是 max{ G1的直径, G2的直径,dist原创 2017-05-26 09:51:06 · 249 阅读 · 0 评论 -
BZOJ 2733 [HNOI2012]永无乡 Treap + 并查集
题目链接题意给定一个图,每个点上有权值。两种操作,连结两个点;问与某个点连通的所有点中权值为第 kk 小的点的编号。思路HDU 3726 Graph and Queries 离线处理 treap + 并查集 的简易版,直接正着做,也没有修改操作Code#include <bits/stdc++.h>#define maxn 100010int fa[maxn], sz[maxn], val[ma原创 2017-09-04 17:07:02 · 227 阅读 · 0 评论 -
强联通分量 缩点 tarjan 入门题小集
参考强联通分量及缩点tarjan算法解析 ——九野的博客 强连通tarjan模版 ——九野的博客hdu 1269题意判断给定的有向图是否强联通,即判断图中的强联通分量数是否为 11.Code#include <bits/stdc++.h>#include <stack>#define maxn 100010using namespace std;struct Edge {原创 2017-08-22 22:49:45 · 432 阅读 · 0 评论 -
2017多校九 05题 hdu 6165 FFF at Valentine 缩点 dp找最长链/拓扑排序
题目链接题意判定一个图是不是单向连通图。 // 其实就是poj 2186,不过poj的那道题数据水了些= = // 浏览题目时看成了FFT at Valentine吓死我= =思路先套路一发,tarjan求强联通分量,缩点,至此预处理完成。(这部分详细内容烦请移步本菜另一篇 强联通分量 缩点 tarjan 入门题小集) 然后怎么处理呢?法一现在我们得到了一个DAGDAG,直观想法就是有没有原创 2017-08-23 19:53:03 · 568 阅读 · 0 评论 -
2017多校四 1005题 hdu 6071 Lazy Running 同余类 最短路
题目链接题意:给定一个环上的四个点1,2,3,4,距离分别为d12,d23,d34,d41,要求从2号点出发,最后回到2号点,要求经过的距离为大于等于 K 的最小值,求该最小值。参考:1. http://blog.csdn.net/blessLZH0108/article/details/76690027?locationNum=6&fps=1 ——Alzh原创 2017-08-07 12:32:59 · 515 阅读 · 0 评论 -
2017多校一 1009题 hdu 6041 I Curse Myself 找环(tarjan) + K 路归并
题目链接题意:给定一个仙人掌图,要求对它的最小的 K 个最小生成树求, (∑k=1Kk⋅V(k))mod232.V(k) 即为第 k 小生成树的权值和。官方题解:由于图是一个仙人掌,所以显然对于图上的每一个环都需要从环上取出一条边删掉。所以问题就变为有 MM 个集合,每个集合里面都有一堆数字,要从每个集合中选择一个恰好一个数加起来。求所有的这样的和中,前 KK原创 2017-08-09 12:31:12 · 369 阅读 · 0 评论 -
2017多校五 1006题 hdu 6090 Rikka with Graph 贪心 构造
题目链接题意:n 个点之间要加 ∑ni=1∑nj=1dist(i,j) 最小,若两点不连通则 dist 为 n官方题解:考虑贪心地一条一条边添加进去。当 m \leq n-1m≤n−1 时,我们需要最小化距离为 nn 的点对数,所以肯定是连出一个大小为 m+1m+1 的联通块,剩下的点都是孤立点。在这个联通块中,为了最小化内部的距离和,原创 2017-08-09 11:23:22 · 291 阅读 · 0 评论 -
2017多校四 1007题 hdu 6073 Matching In Multiplication 拓扑排序 + 找环
题目链接题意:给定两个点集 U 与 V,U 中的每个顶点与 V 中的两个顶点相连,保证图中一定有完美匹配。对于每个完美匹配,其 weight 为每条匹配边的权值乘积。求该图中所有完美匹配的 weight 之和。参考:http://blog.csdn.net/mr__kid/article/details/76684660 ——Mr__Kid这一篇的分原创 2017-08-07 16:18:31 · 340 阅读 · 0 评论 -
hdu 1728 逃离迷宫 普通的队列 / 优先队列
题目链接题意:给定 m * n 的矩阵与起点终点位置, 限制转弯次数 k, 问能否到达终点是个很显然的bfs, 但是1. 要注意的是转弯无论一次转几个方向都是转一次, 一开始想当然的认为如果从(1, 0)方向转向(0, 1)方向就是转了两次, 结果一直WA...2. 大概是因为是pascal入门所以一直对优先队列没什么概念, 而一直老老实实写普通的队列...但感原创 2017-07-21 00:06:23 · 398 阅读 · 0 评论 -
usaco2.4 comehome 最短路 Floyd, Dijkstra, Dijkstra优先队列优化
题目链接水题,求到某一个点的最短路(第一发还写跪了...)后来觉得需要练练手(?并不能起到什么作用)于是分别写了Floyd,Dijkstra以及Dijkstra堆优化(即优先队列)的Floyd/*PROB:comehomeLANG:C++ID:fan_0111*/#include #include #include typedef原创 2017-05-27 00:26:37 · 287 阅读 · 0 评论 -
HDU 3726 Graph and Queries 离线处理 treap + 并查集
题目链接题意给定一个图,每个点上有权值。三种操作: 1. 删去某条边; 2. 修改某个点的权值; 3. 询问与某个点连通的所有点中权值第 kk 大的值; 最后输出所有询问的平均值。思路因为是离线操作,所以考虑 倒着处理,先删去所有要删的边,倒着处理的时候再加回去,用并查集维护。 每一个集合都是一个 TreapTreap,合并的时候把 sizesize 小的树里面的点一个个拆出来往 size原创 2017-09-04 16:29:28 · 332 阅读 · 0 评论