- 1、本文档共67页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
;;;;01 基本概念;;;;;;;;;;;;02 图的遍历;;;;;;;;;;;;;;L;;;void dfs(int v)
{
int i,w,cnum=0; //cnum表示孩子个数
times++;
visit[v]=1;
dfn[v]=low[v]=times; //记录时间戳
for(i=0;i<map[v].size();i++)
{
w=map[v][i];
if(!visit[w]) //w没有访问过,则w是v的孩子结点
{
cnum++;
dfs(w);
low[v]=min(low[w],low[v]);
if(v==root&&cnum>=2) //如果v是根,且有2个以上的孩子,则为割点
flag[v]=1;
if(v!=root&&low[w]>=dfn[v]) //不为根若low[w]>=dfn[v])??则为割点
flag[v]=1;
}
else if(v!=w) //w已经访问过了,说明从v到w有一条回边,w是v的祖先
{
low[v]=min(low[v],dfn[w]);
}
}
};;;;;void tarjan(int i)
{
int j;
dfn[i]=low[i]=++times; // 为节点u设定次序编号和Low初值
instack[i]=true;
Stack[++Stop]=i; // 将节点u压入栈中
for (edge *e=V[i];e;e=e->next)
{
j=e->t;
if (!dfn[j])
{
tarjan(j);
if (low[j]<low[i])
low[i]=low[j];
}
else if (instack[j] && low[j]<low[i])
low[i]=low[j];
}
if (dfn[i]==low[i]) // 如果节点i是强连通分量的根
{
Bcnt++;
do
{
j=Stack[Stop--];
instack[j]=false;
Belong[j]=Bcnt;
}while (j!=i);
}
};;;;;;;;
int main(){
????int n=gi(),m=gi();
????for(int i=1;i<=m;i++)add(gi(),gi());
????for(int i=1;i<=n;i++)if(!dfn[i])dfs(i);
????for(int i=1;i<=n;i++){
????????if(cd[be[i]])continue;
????????for(int j=b[i];j;j=next[j])
????????????if(be[to[j]]!=be[i]){cd[be[i]]=1;break;}
????}
????int ans=0;
????for(int i=1;i<=cnt;i++)
????????if(!cd[i]){
????????????if(ans){putchar('0');return 0;}
????????????ans=size[i];
????????}
????printf("%d",ans);
????return 0;
};03 最短路;;;;;Int ,m,S,tot,Next[500010],head[20000],tree[500010],
val[500010];
bool visit[20000];
long long dis[20000];
struct cmp
{ bool operator()(int a,int b)
{ return dis[a]<dis[b]; }
};
priority_queue<int,vector<int>,cmp> Q;
void add(int x,int y,int z)
{ tot++;
您可能关注的文档
- 新版北师大版七年级数学下册期末复习总结习题课件(5)概率初步.ppt
- 2019学年人教版八年级物理第一学期2.1声音的产生与传播 基础题训练(答案版).docx
- 鹿谷小学新时代好少年评选方案设计.docx
- 人教物理九年级全册第十三章第3节 比热容 课件 .ppt
- 青树嘴中心学校中小学幼儿园“护苗专项行动”实施方案设计.doc
- 外研版必修一module2 My new teachers课程教学设计.ppt
- 会计税务岗位笔试题和答案.docx
- 人教版数学八年级上册12.2 三角形全等的判定(SSS)教案设计.docx
- 2019年中考物理试题分类汇编——比热容的应用专题(word版包含答案).doc
- 住院楼塔基方案设计.docx
文档评论(0)