找点图论练习题写,发现hdu又寄了,那就发到blog里吧。

思路:tarjan缩点判断DAG中点数是否为1。若是,则该图为强连通图。

//produced by miya555
//stupid mistakes:多测记得清空
//ideas:tarjan模板
#include<bits/stdc++.h>
using namespace std;
const int N=10010;
int n,m,low[N],ne[N],h[N],idx,top;
int timestamp,dfn[N],st[N],ins[N],cnt,now,vis[N],e[N];
void add(int a,int b){
e[idx]=b;
ne[idx]=h[a];
h[a]=idx++;
}
void tarjan(int u){
low[u]=dfn[u]=++timestamp;
st[++top]=u;
ins[u] = 1;
for(int i=h[u];i;i=ne[i]){
int j=e[i];
if(!dfn[j]){
tarjan(j);
low[u]=min(low[u],low[j]);
}else if(ins[j]){
low[u]=min(low[u],dfn[j]);
}
}
if(low[u]==dfn[u]){
cnt++;
while(1) {
int now = st[top];
top--;
vis[now]=0;
if(now == u) break;
}
}
}
int a,b;
int main(){
while(~scanf("%d%d",&n,&m)){
//cin>>n>>m;
if(n == 0 && m == 0) break;
memset(h,0,sizeof h);
memset(vis,0,sizeof vis);
memset(st,0,sizeof st);
for(int i = 1; i<=n; i++) dfn[i] = low[i] = 0;
for(int i = 1; i<=m; i++) {
cin>>a>>b;
add(a,b);
}
for(int i = 1; i<=n; i++) {
if(dfn[i] == 0) tarjan(i);
}
if(cnt == 1) puts("yes");
else puts("no");
}
return 0;
}

题解 hdu 1269 迷宫城堡的更多相关文章

  1. HDU 1269 迷宫城堡(强连通)

    HDU 1269 迷宫城堡 pid=1269" target="_blank" style="">题目链接 题意:中文题 思路:强连通模板题 代 ...

  2. hdu 1269 迷宫城堡

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1269 迷宫城堡 Description 为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个 ...

  3. hdu 1269 迷宫城堡 强连通分量

    迷宫城堡 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  4. HDU 1269 迷宫城堡(判断有向图强连通分量的个数,tarjan算法)

    迷宫城堡 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  5. hdu 1269 迷宫城堡 最简单的联通图题 kosaraju缩点算法

    迷宫城堡 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Problem Des ...

  6. hdu 1269 迷宫城堡(Targin算法)

    ---恢复内容开始--- 迷宫城堡 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  7. HDU 1269.迷宫城堡-Tarjan or 双向DFS

    迷宫城堡 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  8. HDU 1269 迷宫城堡 (Kosaraju)

    题目链接:HDU 1269 Problem Description 为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000), ...

  9. HDU 1269 迷宫城堡(DFS)

    迷宫城堡 Problem Description 为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的 ...

  10. HDU 1269 迷宫城堡(向量)(Tarjan模版题)

    迷宫城堡 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

随机推荐

  1. 在mapper.xml中遍历添加多条数据

    <insert id="saveAuditDf" parameterType="java.util.List"> insert into audit ...

  2. Web网页音视频通话之Webrtc相关操作(二)

    效果图 HTML <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  3. AIGC:新AI时代,推动数字人进化的引擎

    摘要:CV.NLP.大模型...AI技术的加持下,让数字人内外在更加生动真实.在未来的发展中,数字人的应用场景越来越广泛,并将发挥出重要的作用,让美好照进生活. 本文分享自华为云社区<AIGC: ...

  4. 2.融合进阶:Stacking与Blending

    1 堆叠法Stacking 1.1 堆叠法的基本思想 堆叠法Stacking是近年来模型融合领域最为热门的方法,它不仅是竞赛冠军队最常采用的融合方法之一,也是工业中实际落地人工智能时会考虑的方案之一. ...

  5. [C#]WPF 分辨率的无关性的问题

    什么是WPF的分辨率无关性? 首先得解什么是Dpi(Density independent pixels ,设备无关像素),百度百科的解释DPI是指每英寸的像素,对应界面显示即是屏幕上每英寸的像素. ...

  6. pandas:字典转dataframe的注意事项

    推荐写法 参考链接 https://blog.csdn.net/u013061183/article/details/79497254

  7. TypeScript: 類型 'HTMLElement | null' 不可指派給類型 'HTMLElement'。 類型 'null' 不可指派給類型 'HTMLElement'

    报错截图 解决方案 在结尾添加叹号 // 获取页面中food的元素并将其赋值给element this.element = document.getElementById('food')!;

  8. python 打包模块:nuitka

    该模块可以将python编译成C++级的可执行文件,是解决python图形化界面启动慢的神器. 1.环境配置 配置c/c++编译器:MinGW64 ,最低使用8.1版本,该资源自行下载. 百度网盘链接 ...

  9. el-date-picker 在表单中宽度(width)问题

    在使用element-plus的日期选择组件 el-date-picker的时候,发现form表单内的日期选择框并不能跟el-input 一样把宽度撑满.而是要小一圈. 这样在排版中显得不太整齐,但是 ...

  10. c++算法:二分

    算法中,有一种比线性查找算力费得更少的一种算法思想,叫"分治",今天讲的是分治里的二分查找: 借助 (low+high)/2公式,找到搜索区域内的中间元素.图 1 中,搜索区域内中 ...