原题链接

题意:求点1到各点的衰减度

#include <iostream>
#include <cstring>
#include <algorithm>
#include <queue>
#include <vector>
using namespace std;
const int N = 333,M=30010;
typedef pair<int, int> PII;
int h[N], e[M], ne[M], idx;
int low[N],clo[N];
bool p[N][N],st[N];
int d[N];
int n,m;
void add(int a, int b)
{e[idx] = b, ne[idx] = h[a], h[a] = idx ++ ;
}
void f(int u)
{low[u]=1;vector<int> pos;for(int i=h[u];~i;i=ne[i]){int j=e[i];if(p[clo[j]][u]){//u>j>uif(low[j])clo[u]=clo[j];pos.push_back(j);}for(int k=h[j];~k;k=ne[k]){//u>j>j1>uint j1=e[k];if(p[clo[j1]][u]){if(low[j1])clo[u]=clo[j1];pos.push_back(j);}}}for(auto i:pos){clo[i]=clo[u];low[i]=1;for(int v=h[i];~v;v=ne[v]){int k=e[v];p[clo[u]][k]=1;}}
}
void dijkstra()
{memset(d, 0x3f, sizeof d);d[1] = 0;priority_queue<PII, vector<PII>, greater<PII>> q;q.push({0, 1});while (q.size()){auto t = q.top();q.pop();int v = t.second, dis = t.first;if (st[v]) continue;st[v] = true;for (int i = h[v];~i; i = ne[i]){int j = e[i];if(st[j])continue;int w=1;if(clo[v]==clo[j])w=0;if (d[j] > dis + w){d[j] =dis + w;q.push({d[j], j});}}}
}
int main()
{ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);memset(h, -1, sizeof h);cin>>n>>m;int a,b;for(int i=1;i<=m;i++){cin>>a>>b;add(a,b);p[a][b]=true;}for(int i=1;i<=n;i++)clo[i]=i;for(int i=1;i<=n;i++)f(i);dijkstra();for(int i=1;i<=n;i++){if(d[i]==0x3f3f3f3f)cout<<-1<<" ";else cout<<d[i]<<" ";}cout<<"\n";return 0;
}

H. Information Transmission相关推荐

  1. 树莓派docker安装transmission作为下载机

    transmission是一个BitTorrent客户端软件,树莓派安装后就能用它进行挂机下载了 transmission dockerhub 仓库:https://hub.docker.com/r/ ...

  2. 【2021年更新】面向通信技术的机器学习和深度学习文献汇总

    目录 综述 信号检测.信号分类和比较 信道编码和解码 端到端通信的学习 定位.传感和本地化 安全性和鲁棒性 毫米波通信 资源分配 其他类 参考IEEE的Library 附带源码的文献汇总 综述 • C ...

  3. Stanford University courses of computer science department(斯坦福计算机系课程设置)

    斯坦福学科目前分为7个department:Business, Earth, Education, Engineering, Humanities & Sciences, Law, Medic ...

  4. 基于MATLAB的变长信源编码算法的性能比较

    摘要:本文基于研究了MATLAB设计了一个数字通信系统,该系统研究了经典变长信源编码(香农码,费诺码,霍夫曼码)的算法实现过程,并且通过几个案例分析了在不同的编码方法下的编码长度及编码效率.通过这两个 ...

  5. 为什么神经元有数千个突触,一个新皮质中的序列记忆理论(HTM算法基础)

    为什么神经元有数千个突触,一个新皮质中的序列记忆理论(HTM算法基础) Jeff Hawkins* and Subutai Ahmad Numenta, Inc., Redwood City, CA, ...

  6. 从光波叠加到条纹分布的matlab仿真,基于Matlab仿真算法的光源空间相干性研究

    王帆, 张永安, 阳胜, 郭胤初, 张亚萍. . 基于Matlab仿真算法的光源空间相干性研究. 光学学报, 2017, 54(9): 092601-. Wang Fan, Zhang Yongan, ...

  7. 【航线运输驾驶员理论考试】领航

    1.(Refer to figures ATP6-1) What is the runway distance remaining at "A" for a daytime tak ...

  8. 神经网络算法英语,神经语言学英语

    1.英语Neural Engine怎么翻译? 英语Neural Engine翻译成中文是:"神经引擎". 重点词汇:neural 一.单词音标 neural单词发音:英 [ˈnjʊ ...

  9. 基于matlab的msk仿真,基于MATLAB的MSK系统原理仿真分析

    <基于MATLAB的MSK系统原理仿真分析>由会员分享,可在线阅读,更多相关<基于MATLAB的MSK系统原理仿真分析(39页珍藏版)>请在读根文库上搜索. 1.分类号 密级 ...

最新文章

  1. git stash 拉去_git操作命令符
  2. Java重写父类使用@Override时出现The method destroy() of type xxx must override a superclass method的问题解决...
  3. 超过Google,微信AI在NLP领域又获一项世界第一
  4. 电力职称计算机多选,【2017年整理】职称计算机考试Office多选模拟题及答案.doc...
  5. 了解Base64编码解码
  6. MySQL单行函数分类
  7. JAX-RS 2.0中的透明PATCH支持
  8. css:学习CSS了解单位em和px的区别
  9. python pandas serie简介及基本使用
  10. ASP.NET使用数据库存储、读取并修改图片
  11. wcf 返回图片_WCF图片上传
  12. php 防止url输入,php防止伪造数据从地址栏URL提交的方法
  13. 转 java中static{}语句块详解
  14. C++内存详解[精]
  15. VMware虚拟机安装系统
  16. UCGUI信息处理机制
  17. 信息安全软考——第四章 网络安全体系与网络安全模型 知识点记录
  18. 步进电机、伺服电机、舵机的原理和区别?
  19. 《信息安全技术》实验三 数字证书应用
  20. 图像目标检测和视频目标检测文献综述

热门文章

  1. 下拉列表刷新,分页加载
  2. Nagios的安装和配置
  3. 火狐浏览器与chrome_chrome edge Firefox歌剧或野生动物园哪种浏览器最好
  4. [ractNative]watchman 起不来,page loading不出来
  5. 阿里云主机的网站被拦截提示“该内容被禁止访问”如何解决?
  6. Android修改EditText光标下的水滴状,TextView选择的左右选择指示器
  7. linux getopt函数,Linux中getopt函数用法
  8. 三星Exyos4412
  9. 微信小程序中,需要注意ios系统的坑: 日期不识别横杠“-”符、输入框设置maxlength时,拼音也会被限制……
  10. [BZOJ] 4247 挂饰