图论
文章平均质量分 63
NKWBTB
ACMer
展开
-
URAL 1774 Barber of the Army of Mages 网络流
题目大意:有N个烙饼,一个平底锅最多可以一次放K张饼。一个饼正反面都需要烙,烙一个面至少需要一个单位的时间。第i个饼会第ti时间送到厨房,要是在si时间内还没有烙好,顾客就会投诉。问存不存在一种烙饼方案,使得所有饼都按时烙好。存在则输出Yes,并输出每个饼的下锅时间和出炉时间,不存在则输出No。这题一乍一看还以为是贪心,遗憾的是WA了。听了题解顿悟是网络流。 建图是这样的,对于每一张饼,与它所有能原创 2015-08-27 23:08:33 · 641 阅读 · 1 评论 -
Noip 2013 Day1 T3 货车运输 启发式并查集树
题目大意:给一个图,求最大生成树,询问生成树上两个结点路径上最小的边权,若两点不可达输出-1。 这道题是很明显的LCA问题可以倍增写(详见http://blog.csdn.net/nkwbtb/article/details/21880941), 但是我今天看了看题解,惊奇地发现了一种极其美妙的做法。 就是启发式并查集树。 名字听起来非常高大上,实际上很简单,启发式并查集,就是维护每个集合原创 2014-03-23 20:20:56 · 2149 阅读 · 0 评论 -
【LCA】最近公共祖先问题Lowest Common Ancestors
昨天集训出了一道LCA的题目,我只会写暴力然后不知道为啥崩栈了,然后想起了去年NOIP Day1 T3 也是不会LCA就废了,然后就没有然后了.....于是我今天学习了各种LCA的做法。 LCA:对于有根树T的两个结点u、v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u、v的祖先且x的深度尽可能大。——百度百科 举个例子: 3和4节点的LCA就是2,2和6号节点的LCA原创 2014-03-23 19:58:30 · 1828 阅读 · 0 评论 -
Codeforces Gym 100342H Hard Test 构造
题目大意:你需要造一个n个点m条边的有向图,使得所有点都能被1访问到,且dijkstra算法在该图上更新次数最多。为避免麻烦,你的构造方案应当使得每次更新后没有vis的有最小的dis的点只有一个(dis和vis都是dijkstra算法中的意义)。 胡扯:这道题构造方法有很多种,我是用的最无脑的那一种做法: 注意到,要使得dijkstra更新次数最多,那么就是使得每一条边被枚举到的时候都进行一次有效更原创 2015-09-06 11:28:42 · 625 阅读 · 0 评论 -
URAL 1779 The Great Team 构造题
题目大意:要求构造一个n个点的无向图,使得不存在>=3个点的度数一致构造方法: 这题有很多构造方法; 既然不存在>=3个点的度数一致,那么我们使得相同度数的点都只有2个; 不妨画一画观察一下 - 我们值观察4、6、8的构造的话会发现,如果我们4个一组,每个组中的最后两个点连一条边,然后最后这两个点分别隔一个点向前面的点各连一条边,这样就形成一组合法的构造方案。因为它使前面的点的度数都增加了1,同时原创 2015-09-06 13:48:12 · 933 阅读 · 0 评论