map平均准确率_拓扑排序怎么排

map平均准确率_拓扑排序怎么排给定一张 N 个点 M 条边的有向无环图,分别统计从每个点出发能够到达的点的数量。输入格式第一行两个整数 N,M,接下来 M 行每行两个整数 x,y,表示从 x 到 y 的一条有向边。输出格式输出共 N 行,表示每个点能够到达的点的数量。数据范围1≤N,M≤30000输入样例:10 103 82 32 55 95 92 33 94 82 104 9输出样例:1633211111#include<bits/stdc++.h>using

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

给定一张 N 个点 M 条边的有向无环图,分别统计从每个点出发能够到达的点的数量。

输入格式
第一行两个整数 N,M,接下来 M 行每行两个整数 x,y,表示从 x 到 y 的一条有向边。

输出格式
输出共 N 行,表示每个点能够到达的点的数量。

数据范围
1≤N,M≤30000

输入样例:
10 10
3 8
2 3
2 5
5 9
5 9
2 3
3 9
4 8
2 10
4 9
输出样例:
1
6
3
3
2
1
1
1
1
1
#include<bits/stdc++.h>
using namespace std;
const int N = 3e4 + 10;
const int M = 3e4 + 10;
struct Edge{ 
   
    int v,next;
}edge[M];
int head[N],cnt;
void add(int u,int v){ 
   
    edge[cnt].v = v;
    edge[cnt].next = head[u];
    head[u] = cnt ++;
}
bitset<N>f[N];
int in[N],q[N],hh = 0,tt = 0;
int main(){ 
   
    int n,m;
    cin>>n>>m;
    int x,y;
    memset(head,-1,sizeof head);
    for(int i = 0;i < m;i ++){ 
   
        cin>>x>>y;
        add(x,y),in[y] ++;
    }
    for(int i = 1;i <= n;i ++)if(!in[i])q[tt ++] = i;
    while(hh < tt){ 
   
        int t = q[hh ++];
        for(int i = head[t];~i;i = edge[i].next){ 
   
            int v = edge[i].v;
            if((-- in[v]) == 0)q[tt ++] = v;
        }
    }
    for(int i = tt - 1;i >= 0;i --){ 
   
        int j = q[i];
        f[j][j] = 1;
        for(int k = head[j];~k;k = edge[k].next){ 
   
            int v = edge[k].v;
            f[j] |= f[v];
        }
    }
    for(int i = 1;i <= n;i ++){ 
   
        cout<<f[i].count()<<endl;
    }
    return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168586.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月9日 下午2:36
下一篇 2022年8月9日 下午2:36


相关推荐

  • 1156针cpu排行_755针最强CPU

    1156针cpu排行_755针最强CPUIntel酷睿i7875K¥2330CPU主频:2930MHz智能加速:3600MHz插槽类型:LGA1156制作工艺:45纳米二级缓存:4×256KB三级缓存:8M核心数量:四核心核心类型:Lynnfield线程数:八线程总线类型:DMI总线热设计功耗(TDP):95W内核电压:0.65-1.40V内存控制器:双通道DDR3-1066/1333最大16G64位处理器。…

    2026年1月31日
    3
  • Cursor 快速上手指南

    Cursor 快速上手指南

    2026年3月16日
    2
  • 数据库-PDMan使用教程

    数据库-PDMan使用教程文章目录 PDMan 简介使用下载安装创建新模块开始菜单栏设置功能数据库连接同步数据到数据库 PDMan 简介 PDMan 是一款数据库建模工具 国产开源易用 支持常用的 MySQL Oracal 等数据库 具体信息查看官网 http www pdman cn 使用下载安装下载完成后 一路安装即可 安装完成后 打开软件是如下界面 创建新模块点击下图左侧新建模块建好模块后 在数据表下 新

    2026年3月16日
    1
  • windows启动两个tomcat

    windows启动两个tomcat1 在 apache tomcat 7 0 65 conf 目录下更改 server xml 文件更改三个地方的端口号 2 设置第二个 tomcat 的环境变量 3 在第二个 tomcat 中的 apache tomcat 7 0 65 bin 目下更改 catalina bat 和 startup bat 把这两个目录下所有的 CATALINA BASE CATALINA

    2025年12月8日
    6
  • w7812三端稳压电路图_w7812三端稳压电路焊接与调试

    w7812三端稳压电路图_w7812三端稳压电路焊接与调试达达是来自异世界的魔女,她在漫无目的地四处漂流的时候,遇到了善良的少女翰翰,从而被收留在地球上。翰翰的家里有一辆飞行车。有一天飞行车的电路板突然出现了故障,导致无法启动。电路板的整体结构是一个 R 行 C 列的网格(R,C≤500),如下图所示。每个格点都是电线的接点,每个格子都包含一个电子元件。电子元件的主要部分是一个可旋转的、连接一条对角线上的两个接点的短电缆。在旋转之后,它就可以连接另一条对角线的两个接点。电路板左上角的接点接入直流电源,右下角的接点接入飞行车的发动装置。达达发现因为

    2022年8月9日
    5
  • JavaScript 中根据换行符拆分字符串失败

    JavaScript 中根据换行符拆分字符串失败问题:在使用JavaScript拆分字符串时,使用分隔符\n无效。方法:应使用转义字符处理反斜杠,即使用分隔符\\n。

    2022年5月23日
    132

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号