校园网Network of Schools

第一问:Tarjan缩点,搞出每一个连通块,入度为零的连通块是需要必须接受新软件副本的,统计数量即可

第二问:要让整个图构成一个环,显然要将入度为零点和出度为零点都消灭,ans=max(入度为零点的数量,出度为零点的数量)

  1. #include<iostream>
  2. #include<cstring>
  3. #include<cstdio>
  4. #define N 110
  5. int n,Head[N],Enum,stack[N],top,ans1,ans2;
  6. int dfn[N],cnt,low[N],belong[N],num;
  7. bool ins[N],in[N],out[N];
  8. struct NODE{
  9. int to,next;
  10. } e[N*N];
  11. inline void add(int x,int y){
  12. e[++Enum].to=y;
  13. e[Enum].next=Head[x];
  14. Head[x]=Enum;
  15. }
  16. inline int read(){
  17. int x=; char c=getchar();
  18. while(c<''||c>'') c=getchar();
  19. while(''<=c&&c<='') { x=(x<<)+(x<<)+c-''; c=getchar(); }
  20. return x;
  21. }
  22. inline void Tarjan(int u){
  23. dfn[u]=low[u]=++cnt;
  24. ins[u]=; stack[++top]=u;
  25. for(int i=Head[u];i;i=e[i].next){
  26. int v=e[i].to;
  27. if(!dfn[v]){
  28. Tarjan(v);
  29. low[u]=std::min(low[u],low[v]);
  30. }
  31. else if(ins[v])
  32. low[u]=std::min(low[u],dfn[v]);
  33. }
  34. if(low[u]==dfn[u]){
  35. belong[u]=++num;
  36. while(stack[top]!=u){
  37. int k=stack[top];
  38. belong[k]=num;
  39. ins[k]=;
  40. top--;
  41. }
  42. top--; ins[u]=;
  43. }
  44. }
  45. int main()
  46. {
  47. n=read(); int x;
  48. for(int i=;i<=n;i++){
  49. x=read();
  50. while(x){ add(i,x); x=read(); }
  51. }
  52. for(int i=;i<=n;i++)
  53. if(!dfn[i]) Tarjan(i);
  54. if(num==) { printf("%d\n%d\n",,); return ; }
  55. for(int i=;i<=n;i++)
  56. for(int j=Head[i];j;j=e[j].next)
  57. if(belong[i]!=belong[e[j].to])
  58. out[belong[i]]=in[belong[e[j].to]]=;
  59. for(int i=;i<=num;i++){
  60. if(!in[i]) ans1++;
  61. if(!out[i]) ans2++;
  62. }
  63. ans2=std::max(ans1,ans2);
  64. printf("%d\n%d\n",ans1,ans2);
  65. return ;
  66. }

双倍经验: P2812

【洛谷P2746】[USACO5.3]校园网Network of Schools的更多相关文章

  1. 洛谷 P2746 [USACO5.3]校园网Network of Schools 解题报告

    P2746 [USACO5.3]校园网Network of Schools 题目描述 一些学校连入一个电脑网络.那些学校已订立了协议:每个学校都会给其它的一些学校分发软件(称作"接受学校&q ...

  2. 洛谷 P2746 [USACO5.3]校园网Network of Schools (Tarjan,SCC缩点,DAG性质)

    P2746 [USACO5.3]校园网Network of Schools https://www.luogu.org/problem/P2746 题目描述 一些学校连入一个电脑网络.那些学校已订立了 ...

  3. 洛谷P2746 [USACO5.3]校园网Network of Schools

    题目描述 一些学校连入一个电脑网络.那些学校已订立了协议:每个学校都会给其它的一些学校分发软件(称作“接受学校”).注意即使 B 在 A 学校的分发列表中, A 也不一定在 B 学校的列表中. 你要写 ...

  4. 洛谷 P2746 [USACO5.3]校园网 Network of Schools 题解

    Tarjan 模板题 第一问就是缩点之后看有多少个入度为零的点就好了. 第二问是在缩点后将每个点的入度和出度都求出(只要有入度或出度就置为1),然后比较哪个有值的多,将多的作为答案输出.原因是由题可得 ...

  5. 洛谷 P2746 [USACO5.3]校园网Network of Schools

    题目描述 一些学校连入一个电脑网络.那些学校已订立了协议:每个学校都会给其它的一些学校分发软件(称作“接受学校”).注意即使 B 在 A 学校的分发列表中, A 也不一定在 B 学校的列表中. 你要写 ...

  6. 洛谷 P2746 [USACO5.3]校园网Network of Schools schlnet Tarjan强连通分量

    schlnet ★★★   输入文件:schlnet.in   输出文件:schlnet.out   简单对比时间限制:1 s   内存限制:128 MB 描述 一些学校连入一个电脑网络.那些学校已订 ...

  7. P2746 [USACO5.3]校园网Network of Schools// POJ1236: Network of Schools

    P2746 [USACO5.3]校园网Network of Schools// POJ1236: Network of Schools 题目描述 一些学校连入一个电脑网络.那些学校已订立了协议:每个学 ...

  8. P2746 [USACO5.3]校园网Network of Schools(Tarjan)

    P2746 [USACO5.3]校园网Network of Schools 题目描述 一些学校连入一个电脑网络.那些学校已订立了协议:每个学校都会给其它的一些学校分发软件(称作“接受学校”).注意即使 ...

  9. 洛谷P2746 USACO5.1 校园网

    题目描述 一些学校连入一个电脑网络.那些学校已订立了协议:每个学校都会给其它的一些学校分发软件(称作“接受学校”).注意即使 B 在 A 学校的分发列表中, A 也不一定在 B 学校的列表中. 你要写 ...

  10. 【luogu P2746 [USACO5.3]校园网Network of Schools】 题解

    题目链接:https://www.luogu.org/problemnew/show/P2812 注意:判断出入度是否为0的时候枚举只需到颜色的数量. 坑点:当只有一个强连通分量时,不需要再添加新边. ...

随机推荐

  1. (Frontend Newbie)JavaScript基础之常见数据类型

    JavaScript中的数据类型分为两种,一种是简单数据类型,包括Undefined.Null.Boolean.Number和String,另一种是复杂数据类型,即Object,也可称作为引用类型. ...

  2. 【ORACLE】sqlplus使用记录

    1.设置输出长度 SEGMENT_NAME--------------------------- BYTES----------TZ01_LOGIN_DATA 20971520 TZ02_EP_GAT ...

  3. MYSQ系列-MYSQL基础增强(Mysql基本语句)

    MYSQL基础增强 库操作 创建一个使用UTF-8字符集的数据库: create database mydb character set UTF8; 创建一个带校对集的数据库 create datab ...

  4. 白话SpringCloud | 第五章:服务容错保护(Hystrix)

    前言 前一章节,我们知道了如何利用RestTemplate+Ribbon和Feign的方式进行服务的调用.在微服务架构中,一个服务可能会调用很多的其他微服务应用,虽然做了多集群部署,但可能还会存在诸如 ...

  5. bzoj 5329: [Sdoi2018]战略游戏

    Description 省选临近,放飞自我的小Q无心刷题,于是怂恿小C和他一起颓废,玩起了一款战略游戏. 这款战略游戏的地图由n个城市以及m条连接这些城市的双向道路构成,并且从任意一个城市出发总能沿着 ...

  6. 【VMware&Vritualbox】虚拟机安装windows server2016

    一.下载镜像 参考链接:https://blog.csdn.net/yenange/article/details/52981769 http://blog.sina.com.cn/s/blog_10 ...

  7. Bitmap图片查看器

    在Android 应用中使用assets目录下存放的资源文件,assets目录下存放的资源代表应用无法直接访问的原生资源,应用程序通过AssetManager以二 进制流的形式来读取资源.此应用是查看 ...

  8. MVC5 下拉框(多选)

    1.Model [Display(Name = "职位")] [Required] public int[] job { get; set; } //职位属性 public IEn ...

  9. PAT 1021 Deepest Root

    #include <cstdio> #include <cstdlib> #include <vector> using namespace std; class ...

  10. angular-自定义模块

    <!DOCTYPE html><html lang="en" ng-app="app"><head> <script ...