![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
tarjan
FSYo
我不去想是否能够成功,
既然选择了远方,
便只顾风雨兼程
展开
-
NOIP 2017 逛公园(最短路)(Tarjan)(记忆化搜索)
传送门 先考虑没有 000 边的情况 求出 1 到 nnn 的最短路,用 fi,jf_{i,j}fi,j 表示到当前点,比最短路多 jjj 的方案数 f1,0=1f_{1,0}=1f1,0=1,fu,j=fv,j−(dis[v]+w[i]−dis[u])f_{u,j}=f_{v,j-(dis[v]+w[i]-dis[u])}fu,j=fv,j−(dis[v]+w[i]−dis[u]) 从 ...原创 2019-11-13 19:24:14 · 141 阅读 · 0 评论 -
P3530 [POI2012]FES-Festival [差分约束][tarjan][floyed]
传送门 题解原网 https://blog.csdn.net/qty2001/article/details/77133189 图论的一道好题 #include<bits/stdc++.h> #define N 605 #define M 200050 #define inf 0x7fffffff using namespace std; int first[N],ne...原创 2019-01-01 23:33:55 · 232 阅读 · 0 评论 -
[HAOI2010]软件安装 [Tarjan + 树形DP]
传送门 我们先Tarjan 缩点 , 然后树形背包 我们令f[u][i] 表示点u及儿子选i个的最大价值 我们发现如果要加上儿子的贡献 , 当前点u必须选 因为u必须选 , 所以j只能枚举到i-w[u] DP方程固然重要 , 范围也很重要 化学方程式固然重要 , 反应条件 , 气体符号 , 沉淀符号也很重要 #include<bits/stdc++.h> #defi...原创 2018-12-15 22:49:39 · 133 阅读 · 0 评论 -
稳定婚姻[tarjan]
传送门 (请教大佬为什么不能无向图建边) 夫妻女向男建 , 情侣男向女建 , 在一个强联通分量就危险 另外 , base最好取131 #include<bits/stdc++.h> #define N 10050 #define M 100050 #define ULL unsigned long long using namespace std; map<ULL,...原创 2018-12-05 21:56:14 · 165 阅读 · 0 评论 -
校园网络[tarjan]
传送门 发现第一问就是入度为0的个数 , 第二问是出度为0 的个数 #include<bits/stdc++.h> #define N 500050 using namespace std; int first[N],next[N],to[N],tot,n,in[N],out[N],ans1,ans2; int dfn[N],low[N],id[N],sta[N],insta[N...原创 2018-12-01 10:39:07 · 140 阅读 · 0 评论 -
消息扩散[Tarjan]
传送门 缩点过后入度为0的就必须选 #include<bits/stdc++.h> #define N 100050 #define M 500050 using namespace std; int first[N],next[M],to[M],tot,top,sign,cnt,ans; int n,m,dfn[N],low[N],id[N],sta[N],insta[N],d...原创 2018-11-30 21:25:03 · 187 阅读 · 0 评论 -
传话[tarjan]
传送门 #include<bits/stdc++.h> #define N 1005 #define M 100005 using namespace std; int first[N],next[M],to[M],tot; int n,m,id[N],size[N],top,cnt; int dfn[N],low[N],sta[N],insta[N],sign; map<p...原创 2018-11-06 21:25:08 · 190 阅读 · 0 评论 -
杀人游戏[tarjan]
传送门 tarjan缩点,找入度为0的点(因为必须要查)的个数 同时如果有一个点入度为0,且它连如的点入度不为1,那么把它放在最后查,就可以少查一次 #include<bits/stdc++.h> #define N 100005 #define M 300005*2 using namespace std; int first[N],next[M],to[M],tot; in...原创 2018-10-31 21:58:17 · 335 阅读 · 0 评论 -
无向图的强联通分量
核心思想:寻找桥边 记录dfn,与low 表示当前节点的时间戳 ,与能追溯到的最早祖先的时间戳 当且仅当dfn[x]<low[y]的时候,x,y的边是桥边 因为y怎么上都到不了x 如果当前节点编号不等于上一条走的编号(说明不是一条路) 那么就可以更新时间戳 找出桥边后再dfs一遍就好了 #include<bits/stdc++.h> #define N 2000...原创 2018-10-04 19:52:23 · 212 阅读 · 0 评论 -
最优贸易[Tanjan][拓扑排序][DP]
题目描述 C国有n个大城市和m 条道路,每条道路连接这 n个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这 m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的道路在统计条数时也计为 1条。 C国幅员辽阔,各地的资源分布情况各不相同,这就导致了同一种商品在不同城市的价格不一定相同。但是,同一种商品在同一个城市的买入价和卖出价始终是相同的。 商人阿龙来到 ...原创 2018-09-16 20:14:22 · 202 阅读 · 0 评论