先象征性地描述一下问题:一组(或者一个)东西有且仅有两种选择,要么选这个,要么选那个,还有一堆的约束条件 图论问题,当然是建边跑图喽 给出模型: 题目POJ3683 然后说一下这个题的意思: 如果某两个婚礼进行仪式的时间有重合 那么就存在了矛盾关系,通过这些关系连边 Tarjan缩点重新建图(这里建 ...
分类:
其他好文 时间:
2018-08-11 01:33:51
阅读次数:
195
【题目描述】 现在假设总共有N个营员(2<=N<=200),每个营员的编号为1~N。LHC给每个人发了一张调查表,让每个营员填上自己愿意让哪些人到他那儿拷贝资料。当然,如果A愿意把资料拷贝给B,而B又愿意把资料拷贝给C,则一旦A获得了资料,则B,C都会获得资料。求最小需要刻录多少张光盘。 【题目链接 ...
分类:
其他好文 时间:
2018-08-09 21:21:49
阅读次数:
176
之前学Tarjan的时候一直理解不是很到位,温故而知新,查缺补漏一下。 Tarjan算法是用于求解有向图强连通分量的算法,它能做到线性时间的复杂度。 定义: 1.如果两个顶点可以相互通达,则称两个顶点强连通(strongly connected)。 2.如果有向图G的每两个顶点都强连通,称G是一个强 ...
分类:
其他好文 时间:
2018-08-09 21:21:41
阅读次数:
164
"$ \rightarrow $ 戳我进CF原题 " 一张有向图中,设 $ r_i $ 为从点 $ i $ 出发能够到达的点的数量。 定义有向图的“改良值”为 $ r_i $ 的最小值。 现给出一张无向图,要求给每条边定一个方向,使产生的有向图“改良值”最大。 $ n,m \le 400000 $ ...
分类:
其他好文 时间:
2018-08-09 20:07:03
阅读次数:
136
题意:求个树形依赖背包 思路:对于环用tarjan缩点即可。 c++ include using namespace std; const int maxn = 2010; struct edge{ int to; int nxt; }edge[maxn]; int w[maxn]; int v[m ...
分类:
其他好文 时间:
2018-08-04 20:25:22
阅读次数:
148
题目描述 Papa朋友圈里的每一个人都梦想成为朋友圈里的网红。被所有人喜欢的人就是一个网红。Papa所有的朋友都是自恋狂,每个人总是喜欢自己的。人与人之间的“喜欢”是可以传递的——如果A喜 欢B,B喜欢C,那么A也喜欢C。Papa的朋友圈里共有N 个人,给定一些这些人之间的喜欢关系,请你算出有多少个 ...
分类:
其他好文 时间:
2018-08-04 20:15:36
阅读次数:
119
题目大意:给出一个 有向图 ,问你这个图中是否对于 任意两点$u,v$ ,都至少满足$u\to v$($u$可到达$v$,下同)或$v\to u$中的一个。 一看就是套路的图论题,我们先把边连起来。 考虑一个很基本的性质: 在一个强连通分量的点两两可达 于是肯定先 Tarjan 缩一波点。然后我们得 ...
分类:
其他好文 时间:
2018-08-03 19:53:02
阅读次数:
205
tarjan缩点后,第一问答案显然是入度为零的点得个数第二问:考虑到 没有入度或出度为0的点 的图强连通, 所以答案就是max{入度为零的个数,出度为零的个数} (把出度为零的连到入度为零的点,然后剩下为零的随便连一连就可以) ...
分类:
Web程序 时间:
2018-08-02 23:07:40
阅读次数:
227
tarjan缩点,然后按照拓扑序,做1号点能到达的点的答案具体做法是对每个点记一个min[i],max[i],vis[i]和ans[i]做拓扑序的时候,假设在从u点开始做,有边u到v,如果vis[u]=1,则则 vis[v]=1(初始时vis[bel[1]]=1); 更新在v点及以前买进的最小进价: ...
分类:
其他好文 时间:
2018-08-02 23:02:50
阅读次数:
224
题意:给一个有向图,问要从0号点能到达所有点所需要经过路径的最小权值和是多少,然而,若两点强联通,则这两点互相到达不需要花费。保证0号点能到达所有点 tarjan缩点以后直接取每个点入边中花费最小的即可。 ...
分类:
其他好文 时间:
2018-08-02 22:50:15
阅读次数:
134