当前位置: 首页 > news >正文

建设网站要注意什么招工 最新招聘信息怎么写

建设网站要注意什么,招工 最新招聘信息怎么写,i网站建设,如何自己开发网站题目描述 有nnn座城市,城市之间建立了mmm条有向的地下通道。 你需要发起若干轮轰炸,每轮可以轰炸任意多的城市。但在每次轰炸城市中,不能同时存在两个城市i,ji,ji,j满足可以通过地下通道从城市iii到达城市jjj。你需要求出最少需要多少轮可以…

题目描述

nnn座城市,城市之间建立了mmm条有向的地下通道。

你需要发起若干轮轰炸,每轮可以轰炸任意多的城市。但在每次轰炸城市中,不能同时存在两个城市i,ji,ji,j满足可以通过地下通道从城市iii到达城市jjj。你需要求出最少需要多少轮可以对每座城市都进行至少一次轰炸。

输入格式

第一行一个整数mmm,接下来mmm行每行两个整数a,ba,ba,b表示一条从aaabbb的单向边。

输出格式

一行一个整数表示答案。

样例输入

5 4
1 2
2 3
3 1
4 5

样例输出

3

数据范围

1≤n,m≤1061\leq n,m\leq 10^61n,m106


题解

题意即为每次可以轰炸任意多的城市,但不能有两个城市i,ji,ji,j满足i,ji,ji,j在同一条链上。

如果这个图没有环,那么显然答案为最长的一条链。这条链上每个点都轰炸一次。与此同时,其他链上的点也都轰炸一次,即可将所有城市都轰炸一次。用拓扑排序即可解决。

那如果有环呢?我们可以用求强连通分量的Tarjan算法,求出每个强连通分量,再把每个强连通分量都缩成一个点。此时的图已经没有环了,按上面的方法做就行了。

注意缩点之后,炸完一个点所需要的次数为这个点表示的强连通分量的大小。

时间复杂度为O(n)O(n)O(n)

code

#include<bits/stdc++.h>
using namespace std;
const int N=1000000;
int n,m,x,y,tot=0,dt=0,top=0,ans=0,d[N+5],l[N+5],r[N+5],st[N+5];
int ct=0,dfn[N+5],low[N+5],c[N+5],cnt[N+5],f[N+5];
vector<int>hv[N+5];
queue<int>q;
struct node{int x,y;
}w[N+5];
void add(int xx,int yy){l[++tot]=r[xx];d[tot]=yy;r[xx]=tot;
}
void dfs(int u){dfn[u]=low[u]=++dt;st[++top]=u;for(int i=r[u];i;i=l[i]){int v=d[i];if(!dfn[v]){dfs(v);low[u]=min(low[u],low[v]);}else if(!c[v]){low[u]=min(low[u],dfn[v]);}}if(low[u]==dfn[u]){++ct;while(top>0){c[st[top]]=ct;hv[ct].push_back(st[top]);--top;if(st[top+1]==u) break;}}
}
int main()
{scanf("%d%d",&n,&m);for(int i=1;i<=m;i++){scanf("%d%d",&x,&y);w[i]=(node){x,y};add(x,y);}for(int i=1;i<=n;i++){if(!dfn[i]) dfs(i);}tot=0;memset(r,0,sizeof(r));for(int i=1;i<=m;i++){x=w[i].x;y=w[i].y;if(c[x]==c[y]) continue;add(c[x],c[y]);++cnt[c[y]];}for(int i=1;i<=ct;i++){if(!cnt[i]) q.push(i);}while(!q.empty()){int u=q.front();q.pop();f[u]+=hv[u].size();for(int i=r[u];i;i=l[i]){f[d[i]]=max(f[d[i]],f[u]);--cnt[d[i]];if(!cnt[d[i]]) q.push(d[i]);}}for(int i=1;i<=ct;i++){ans=max(ans,f[i]);}printf("%d",ans);return 0;
}
http://www.yayakq.cn/news/527474/

相关文章:

  • 建设企业网站费用甘肃两学一做网站
  • 做一家开发网站的公司简介小程序推广是什么工作
  • 优秀设计作品网站仓储网站建设
  • 建设网站如何收费有什么推广网站
  • 网站建设招标方案模板个人免费建网站
  • 普斯泰网站建设房地产销售现状
  • 网站建设方案范文怎么做链接
  • 建设网站企业网银登录网站搭建报价
  • cn结尾的网站 做外贸网站建设推广加盟
  • 网站前台设计工具wordpress绝对路径图片不显示
  • 网站建设 任务分配表专业优化网站建设
  • 校园网站建设意义开放平台是干什么的
  • 做策划的网站wordpress 会员等级
  • 微信网站欣赏广州室内设计培训学校
  • 网站系统开发流程c 做asp.net网站
  • asp源码自助建站广东建的电商网站叫啥
  • 医院网站建设 南宁有谁可以做网站寄生虫
  • 公司网站建设需要资质外贸营销软件
  • 导购网站如何做淘宝客网站建设需要哪些工具与知识
  • 企业网站宣传册应该哪个部门做宁波网站营销推广策划方案
  • 邵阳建网站全屏网站表现形式
  • 建设网站文件夹的名字wordpress添加账户余额
  • 龙岩市建设局网站网站内链检测
  • 丹阳建站种子搜索神器下载
  • 电商建网站运营阳江做网站详细解读
  • 新手做网站网站后台管理系统栏目位置
  • 朝阳网站制作公司广东工程造价信息网
  • 优秀网站设计作品自己做的网站是怎么赚钱吗
  • 网站发布新闻的好处 seo抖音seo软件
  • wordpress 样式表seo搜索引擎优化招聘