AcWing 164. 可达性统计(拓扑排序+bitset优化)

AcWing 164. 可达性统计

链接: https://www.acwing.com/problem/content/166/

思路: 先拓扑排序得到图的拓扑序列,然后从拓扑序最后的开始更新,需要使用bitset更新可达点,因为需要除去重复的点,然后直接使用bitset的内置函数count一下1的数量即可。

#include <bits/stdc++.h>
using namespace std;
int d[30010];
int n,m;
vector<int>ve;
vector<int>w[30010];
bitset<30010>f[30010];
void topsort(){
    queue<int>ff;
    for(int i=1;i<=n;i++){
        if(!d[i]){
            ff.push(i);
        }
    }
    while(!ff.empty()){
        int t=ff.front();
        ff.pop();
        ve.push_back(t);
        int k=w[t].size();
        for(int i=0;i<k;i++){
            d[w[t][i]]--;
            if(d[w[t][i]]==0){
                ff.push(w[t][i]);
            }
        }
    }
}
int main(){
    scanf("%d%d",&n,&m);
    for(int i=1;i<=m;i++){
        int a,b;
        scanf("%d%d",&a,&b);
        w[a].push_back(b);
        d[b]++;
    }
    topsort();
    for(int i=ve.size()-1;i>=0;i--){
        int t=ve[i];
        f[t][t]=1;
        int k=w[t].size();
        for(int j=0;j<k;j++){
            f[t]|=f[w[t][j]];
        }
    }
    for(int i=1;i<=n;i++){
        printf("%d\n",f[i].count());
    }
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
《基于ArcGIS的可分析汇编》是一本介绍利用ArcGIS软件进行可分析的文献。可分析是研究某一地区内不同位置与基础设施之间的空间关系,帮助决策者评估基础设施的服务范围、辐射范围以及改善交通网络的规划和决策的工具。 这本汇编主要介绍了ArcGIS在可分析中的功能和应用。首先,它详细介绍了ArcGIS软件的基本概念和操作方法,包括数据导入、编辑和处理等。 其次,汇编讨论了可分析的理论和方法,并介绍了ArcGIS在该领域的应用。通过利用ArcGIS软件的网络分析功能,可以计算不同位置到基础设施的距离和时间。根据这些计算结果,可以进行服务区分析、路径优化以及其他可指标的计算。 此外,汇编还介绍了如何使用ArcGIS进行可模型的建立和评估。通过构建合适的空间网络模型和设定相应的参数,可以进行不同的可分析。同时,借助ArcGIS的可视化功能,可以将结果以地图的形式展示出来,便于对研究区域的交通状况进行直观的了解。 总的来说,《基于ArcGIS的可分析汇编》对于想要了解和应用ArcGIS进行可分析的研究者和决策者具有很高的参考价值。它不仅介绍了ArcGIS的基本操作方法和网络分析功能,还深入探讨了可分析的理论和方法。通过该书的学习,读者可以更好地利用ArcGIS软件进行可分析,并在实际决策中提供有用的信息和数据支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值