文章目录

  • ResultResultResult
  • HyperlinkHyperlinkHyperlink
  • DescriptionDescriptionDescription
  • SolutionSolutionSolution
  • CodeCodeCode

ResultResultResult


HyperlinkHyperlinkHyperlink

https://www.luogu.com.cn/problem/P1038


DescriptionDescriptionDescription

一张神经网络可以看做一个DAGDAGDAG,它由三种层组成:输入层,传输层,输出层

输入层:初始Ci>0C_i> 0Ci​>0的层
输出层:没有出边的层
传输层:输入层和输出层相对于整张图的补层

规定传输时要减去阈值UiU_iUi​,求输出层经过传输后仍然满足Ci>0C_i>0Ci​>0的点,如果没有,输出NULLNULLNULL

数据范围:n≤100n\leq 100n≤100


SolutionSolutionSolution

考虑让初始Ci≤0C_i\leq 0Ci​≤0的提前减去UiU_iUi​,因为到达它们必然要减去,它们不可能作为传输的起点
接着用bfsbfsbfs遍历整张图即可

时间复杂度:O(n+m)O(n+m)O(n+m)


CodeCodeCode

#include<queue>
#include<cctype>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define LL long long
using namespace std;int c[101],u[101],tot,l[101],n,m,U,V,W;
bool vis[101],out[101];
struct node{int next,to,w;}e[100011];
inline void add(int u,int v,int w){e[++tot]=(node){l[u],v,w};l[u]=tot;return;}
inline LL read()
{char c;LL d=1,f=0;while(c=getchar(),!isdigit(c)) if(c=='-') d=-1;f=(f<<3)+(f<<1)+c-48;while(c=getchar(),isdigit(c)) f=(f<<3)+(f<<1)+c-48;return d*f;
}
queue<int>q;
signed main()
{n=read();m=read();for(register int i=1;i<=n;i++) {c[i]=read();u[i]=read();if(c[i]) q.push(i),vis[i]=true;else c[i]-=u[i];}for(register int i=1;i<=m;i++) U=read(),V=read(),W=read(),add(U,V,W),out[U]=true; while(q.size()){int x=q.front();q.pop();for(register int i=l[x];i;i=e[i].next){int y=e[i].to,w=e[i].w;c[y]+=c[x]*w;if(c[y]>0&&vis[y]==false) q.push(y),vis[y]=true;}}bool flg=true;for(register int i=1;i<=n;i++) if(c[i]>0&&out[i]==false) printf("%d %d\n",i,c[i]),flg=false;if(flg) return puts("NULL")&0;
}

P1038 神经网络相关推荐

  1. P1038 神经网络(拓扑排序)

    https://www.luogu.org/problem/P1038 题目背景 人工神经网络(Artificial Neural NetworkArtificialNeuralNetwork)是一种 ...

  2. 图论,专为迷途少年而生

    文章目录 目录 图的存储 邻接矩阵 前向星 Topsort P1038 神经网络 P1983 车站分级 最小生成树 MST 堆优化Prim 并查集Kruskal Matrix Tree Theory ...

  3. 为什么神经网络的激活函数必须使用线性函数?

    什么是线性函数? 函数本来是输入某个值后会返回一个值的转换器.向这个转换器输入某个值后,输出值是输入值的常数倍的函数称为线性函数(用数学式表示为h(x) = cx. c为常数).因此,线性函数是一条笔 ...

  4. 【机器学习】RNN循环神经网络

    循环神经网络归属: 领域:机器学习 方向:自然语言处理 贡献:自动文本生成 循环神经网络实际应用: 生活中因为原始数据都是序列化的,比如自然语言,语音处理,时间序列问题(股票价格)等问题, 这个时候需 ...

  5. Hopfiled 神经网络实例解释

    Hopfiled 神经网络入门 进击吧程序猿 2018-01-01 23:04:27 本文参考 Hinton 的机器学习课程,总结了 Hopfield 神经网络,整个学习的脉络是:Hopfield 网 ...

  6. 卷积神经网络之卷积计算、作用与思想 深度学习

    博客:blog.shinelee.me | 博客园 | CSDN 卷积运算与相关运算 在计算机视觉领域,卷积核.滤波器通常为较小尺寸的矩阵,比如3×33×3.从这个角度看,多层卷积是在进行逐层映射,整 ...

  7. 机器都会学习了,你的神经网络还跑不动?来看看这些建议

    在很多机器学习的实验室中,机器已经进行了上万小时的训练.在这个过程中,研究者们往往会走很多弯路,也会修复很多bug,但可以肯定的是,在机器学习的研究过程中,学到经验和知识的并不仅仅是机器,我们人类也积 ...

  8. BERT大火却不懂Transformer?读这一篇就够了 原版 可视化机器学习 可视化神经网络 可视化深度学习...20201107

    20211016 调节因子 20211004 [NLP]Transformer模型原理详解 - 知乎 论文所用 20210703 GPT模型与Transformer进行对比_znevegiveup1的 ...

  9. 神经网络为什么需要多次epoch

    Δw(t)=−ε ∂w(t) ∂E ​ +αΔw(t−1)(9) 我们知道反向传播每次迭代的效果是这样的: w=w+Δw(t) w=w+\Delta w(t) w=w+Δw(t) 我们知道,每条训练数 ...

  10. 卷积神经网络通俗解读

    转载自:https://blog.csdn.net/dong_lxkm/article/details/80575207 一.前言 最近一直在研究深度学习,联想起之前所学,感叹数学是一门朴素而神奇的科 ...

最新文章

  1. 如何快速部署国人开源的 Java 博客系统 Tale
  2. jdbc驱动_JDBC概述和CRUD
  3. 扑克牌排序_巧用扑克牌搞定孩子的数学思维启蒙,聪明的妈妈都在玩这样的游戏...
  4. python里的resize_利用python之wxpy模块玩转微信!这部小儿科吗!
  5. 找最大公约数和最小公倍数(c语言实现)
  6. java jlist 图标_java – 将图像添加到JList项目
  7. VC连接SQLite3的方法 MFC封装类
  8. python如何用matplotlib绘图_Python绘图的多图控制(使用Matplotlib),python,利用,matplotlib...
  9. Facebook 十五年,扎克伯格回到了工程师的原点
  10. 计算机换汉语快捷键,电脑常用快捷键
  11. Dubbo/ Spring Cloud 分布式事务管理 LCN方式
  12. dm9000驱动分析
  13. unity利用帧动画制作特效
  14. NAT模式和桥接模式的区别详解
  15. 爬虫6_周杰伦新歌《Mojito》B站弹幕分析
  16. 入驻三年,Airbnb在中国做了什么?
  17. 如何“拼”出一个页面-游戏中心模块化实践
  18. 港股2017年表现全球最好,区块链将助推新经济牛市?
  19. Linux下运行jar包的方法
  20. mysql查询出现毫秒值快速解决方法

热门文章

  1. leaflet 常用方法总结
  2. Lattice的构建过程
  3. 004:Python爬虫实战 由易到难(图文解析)
  4. 没有卑微的工作,只有卑微的工作态度
  5. 质量管理用因果分析计算机成绩差,项目质量管理中的因果分析图
  6. DDU(Display Driver Uninstaller) 18.0.3.5 显卡驱动彻底卸载清理工具,支持卸载NVIDIA, AMD, Intel
  7. 详述 Kafka 基本原理
  8. 荷兰国旗问题python_荷是什么意思 荷字五行属什么
  9. android 镜像结构,android查看分区和镜像文件的结构
  10. java遍历文件夹下所有图片_遍历指定文件夹下的所有图片,并复制到指定目录下...