P1038 神经网络
文章目录
- 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 神经网络相关推荐
- P1038 神经网络(拓扑排序)
https://www.luogu.org/problem/P1038 题目背景 人工神经网络(Artificial Neural NetworkArtificialNeuralNetwork)是一种 ...
- 图论,专为迷途少年而生
文章目录 目录 图的存储 邻接矩阵 前向星 Topsort P1038 神经网络 P1983 车站分级 最小生成树 MST 堆优化Prim 并查集Kruskal Matrix Tree Theory ...
- 为什么神经网络的激活函数必须使用线性函数?
什么是线性函数? 函数本来是输入某个值后会返回一个值的转换器.向这个转换器输入某个值后,输出值是输入值的常数倍的函数称为线性函数(用数学式表示为h(x) = cx. c为常数).因此,线性函数是一条笔 ...
- 【机器学习】RNN循环神经网络
循环神经网络归属: 领域:机器学习 方向:自然语言处理 贡献:自动文本生成 循环神经网络实际应用: 生活中因为原始数据都是序列化的,比如自然语言,语音处理,时间序列问题(股票价格)等问题, 这个时候需 ...
- Hopfiled 神经网络实例解释
Hopfiled 神经网络入门 进击吧程序猿 2018-01-01 23:04:27 本文参考 Hinton 的机器学习课程,总结了 Hopfield 神经网络,整个学习的脉络是:Hopfield 网 ...
- 卷积神经网络之卷积计算、作用与思想 深度学习
博客:blog.shinelee.me | 博客园 | CSDN 卷积运算与相关运算 在计算机视觉领域,卷积核.滤波器通常为较小尺寸的矩阵,比如3×33×3.从这个角度看,多层卷积是在进行逐层映射,整 ...
- 机器都会学习了,你的神经网络还跑不动?来看看这些建议
在很多机器学习的实验室中,机器已经进行了上万小时的训练.在这个过程中,研究者们往往会走很多弯路,也会修复很多bug,但可以肯定的是,在机器学习的研究过程中,学到经验和知识的并不仅仅是机器,我们人类也积 ...
- BERT大火却不懂Transformer?读这一篇就够了 原版 可视化机器学习 可视化神经网络 可视化深度学习...20201107
20211016 调节因子 20211004 [NLP]Transformer模型原理详解 - 知乎 论文所用 20210703 GPT模型与Transformer进行对比_znevegiveup1的 ...
- 神经网络为什么需要多次epoch
Δw(t)=−ε ∂w(t) ∂E +αΔw(t−1)(9) 我们知道反向传播每次迭代的效果是这样的: w=w+Δw(t) w=w+\Delta w(t) w=w+Δw(t) 我们知道,每条训练数 ...
- 卷积神经网络通俗解读
转载自:https://blog.csdn.net/dong_lxkm/article/details/80575207 一.前言 最近一直在研究深度学习,联想起之前所学,感叹数学是一门朴素而神奇的科 ...
最新文章
- 如何快速部署国人开源的 Java 博客系统 Tale
- jdbc驱动_JDBC概述和CRUD
- 扑克牌排序_巧用扑克牌搞定孩子的数学思维启蒙,聪明的妈妈都在玩这样的游戏...
- python里的resize_利用python之wxpy模块玩转微信!这部小儿科吗!
- 找最大公约数和最小公倍数(c语言实现)
- java jlist 图标_java – 将图像添加到JList项目
- VC连接SQLite3的方法 MFC封装类
- python如何用matplotlib绘图_Python绘图的多图控制(使用Matplotlib),python,利用,matplotlib...
- Facebook 十五年,扎克伯格回到了工程师的原点
- 计算机换汉语快捷键,电脑常用快捷键
- Dubbo/ Spring Cloud 分布式事务管理 LCN方式
- dm9000驱动分析
- unity利用帧动画制作特效
- NAT模式和桥接模式的区别详解
- 爬虫6_周杰伦新歌《Mojito》B站弹幕分析
- 入驻三年,Airbnb在中国做了什么?
- 如何“拼”出一个页面-游戏中心模块化实践
- 港股2017年表现全球最好,区块链将助推新经济牛市?
- Linux下运行jar包的方法
- mysql查询出现毫秒值快速解决方法
热门文章
- leaflet 常用方法总结
- Lattice的构建过程
- 004:Python爬虫实战 由易到难(图文解析)
- 没有卑微的工作,只有卑微的工作态度
- 质量管理用因果分析计算机成绩差,项目质量管理中的因果分析图
- DDU(Display Driver Uninstaller) 18.0.3.5 显卡驱动彻底卸载清理工具,支持卸载NVIDIA, AMD, Intel
- 详述 Kafka 基本原理
- 荷兰国旗问题python_荷是什么意思 荷字五行属什么
- android 镜像结构,android查看分区和镜像文件的结构
- java遍历文件夹下所有图片_遍历指定文件夹下的所有图片,并复制到指定目录下...