题目背景

人工神经网络(Artificial Neural Network)是一种新兴的具有自我学习能力的计算系统,在模式识别、函数逼近及贷款风险评估等诸多领域有广泛的应用。对神经网络的研究一直是当今的热门方向,兰兰同学在自学了一本神经网络的入门书籍后,提出了一个简化模型,他希望你能帮助他用程序检验这个神经网络模型的实用性。

题目描述

在兰兰的模型中,神经网络就是一张有向图,图中的节点称为神经元,而且两个神经元之间至多有一条边相连,下图是一个神经元的例子:

神经元〔编号为1)

图中,X1​−X3​是信息输入渠道,Y1​−Y2​是信息输出渠道,C1​表示神经元目前的状态,Ui​是阈值,可视为神经元的一个内在参数。

神经元按一定的顺序排列,构成整个神经网络。在兰兰的模型之中,神经网络中的神经元分为几层;称为输入层、输出层,和若干个中间层。每层神经元只向下一层的神经元输出信息,只从上一层神经元接受信息。下图是一个简单的三层神经网络的例子。

兰兰规定,CiC_iCi​服从公式:(其中nnn是网络中所有神经元的数目)

公式中的Wji​(可能为负值)表示连接jjj号神经元和i号神经元的边的权值。当 Ci​大于0时,该神经元处于兴奋状态,否则就处于平静状态。当神经元处于兴奋状态时,下一秒它会向其他神经元传送信号,信号的强度为Ci​。

如此.在输入层神经元被激发之后,整个网络系统就在信息传输的推动下进行运作。现在,给定一个神经网络,及当前输入层神经元的状态(Ci​),要求你的程序运算出最后网络输出层的状态。

输入输出格式

输入格式:

输入文件第一行是两个整数n(1≤n≤100)和p。接下来n行,每行2个整数,第i+1行是神经元i最初状态和其阈值(Ui​),非输入层的神经元开始时状态必然为0。再下面P行,每行由2个整数i,j及1个整数Wij​,表示连接神经元i,j的边权值为Wij​。

输出格式:

输出文件包含若干行,每行有2个整数,分别对应一个神经元的编号,及其最后的状态,2个整数间以空格分隔。仅输出最后状态大于0的输出层神经元状态,并且按照编号由小到大顺序输出。

若输出层的神经元最后状态均为 0,则输出 “NULL”。

输入输出样例

输入样例#1:

5 6
1 0
1 0
0 1
0 1
0 1
1 3 1
1 4 1
1 5 1
2 3 1
2 4 1
2 5 1

输出样例#1:

3 1
4 1
5 1

解析:

这就是道裸的拓扑。。。没什么好讲的。

参考代码:

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<cmath>
 5 #include<algorithm>
 6 #include<string>
 7 #include<cstdlib>
 8 #include<queue>
 9 #include<vector>
10 #define INF 0x3f3f3f3f
11 #define PI acos(-1.0)
12 #define N 201
13 #define MOD 2520
14 #define E 1e-12
15 using namespace std;
16 queue<int> q;
17 struct rec{
18     int next,ver,egde;
19 }g[N<<2];
20 struct an{
21     int tans,k;
22 }ans[N];
23 int head[N],tot,n,m,ing[N],cnt;
24 int u[N],c[N];
25 bool v[N<<2];
26 void add(int x,int y,int val)
27 {
28     g[++tot].ver=y,g[tot].egde=val;
29     g[tot].next=head[x],head[x]=tot;
30     ing[y]++;
31 }
32 bool operator<(an a,an b){
33     return a.k<b.k;
34 }
35 int main()
36 {
37     scanf("%d%d",&n,&m);
38     for(int i=1;i<=n;i++)
39         scanf("%d%d",&c[i],&u[i]);
40     for(int i=1;i<=m;i++){
41         int x,y,val;
42         scanf("%d%d%d",&x,&y,&val);
43         add(x,y,val);
44     }
45     for(int i=1;i<=n;i++)
46         if(ing[i]==0) q.push(i);
47     while(q.size())
48     {
49         int x=q.front();q.pop();
50         if(c[x]<=0) continue;
51         for(int i=head[x];i;i=g[i].next){
52             int y=g[i].ver,z=g[i].egde;
53             c[y]+=(c[x]*z);
54             if(--ing[y]==0){
55                 c[y]-=u[y];
56                 q.push(y);
57             }
58         }
59     }
60     int k=0;
61     for(int i=1;i<=n;i++){
62         if(head[i]==0&&c[i]>0) printf("%d %d\n",i,c[i]),k++;
63     }
64     if(!k) puts("NULL");
65     return 0;
66 } 

转载于:https://www.cnblogs.com/DarkValkyrie/p/11030996.html

P1038 神经网络[拓扑]相关推荐

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

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

  2. NOIP大纲整理:(零)历年2000-2016NOIP提高组题目分析

    年份 题目名称 考查内容 难度   2000-2016年NOIP提高组复赛题目 2000-A 进制转换 初等代数,找规律 ★ 2000-B 乘积最大 资源分配DP ★★★ 2000-C 单词接龙 DF ...

  3. 闫啸的发明与发现(含独立发现)20221105

    闫啸的发明与发现(含独立发现) 1101. 级联微智能及其在数据,大数据中的应用 世界文档工程,对所有的工作建立内容索引化的文档或多媒体文档,文档模板,归集存量的全部文档,文档模板--知识基础设施. ...

  4. 一句话以上题解及注意事项整理已完成的题目(1)

    jdfz.com 1001 A+B 1006 pla 一维DP+单调栈优化 1007 美食家 贪心策略,尽可能多选 1008 牛排序 二分查找+贪心策略 1009 护花 贪心策略,每次移动y/x最大的 ...

  5. NOIP复赛复习(一)常见问题与常用策略

    数学类问题 1. 精度处理(高精度.实数处理.各种浮点类型处理方法) 2. 组合数学问题(斐波那契数列.第二类数.卡特兰数.Polya原理.排列组合计数.加法原理与乘法原理) 3. 进制问题(特定二进 ...

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

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

  7. 腾讯林衍凯:图神经网络,考虑「拓扑信息」会怎样?

    ‍‍ 本文整理自林衍凯在「2021北京智源大会 · 青源学术年会」上的报告<考虑拓扑信息的图神经网络学习>. 关注[智源社区]公众号 后台回复[2021智源大会报告]获取<2021北 ...

  8. Neat算法讲解(遗传拓扑神经网络)

    Neat算法讲解(遗传拓扑神经网络的原理)   遗传算法是个通用的框架,因此需要根据具体的问题来定义遗传算法.   整体框架可分为三部分:交叉.变异与适应度.不过虽然整体的流程是一致的,但是因为问题不 ...

  9. 【GNN报告】考虑拓扑信息的图神经网络学习

    1.简介 打算之后在本博客里存放BAAI里面邀请的所有演讲者有关GNN的报告学习(本人筛选的都是自己感兴趣的或者感觉还不错的) 2.报告 腾讯林衍凯:图神经网络,考虑「拓扑信息」会怎样? [专栏:前沿 ...

  10. 18张图,直观理解神经网络、流形和拓扑

    大约十年前开始,深度神经网络在计算机视觉等领域取得了突破性成果,引起了极大的兴趣和关注. 然而,仍有一些人对此表示忧虑.原因之一是,神经网络是一个黑匣子:如果神经网络训练得很好,可以获得高质量的结果, ...

最新文章

  1. ai皮肤检测分数_智能AI皮肤检测仪三步走话术
  2. 2.2 经典网络-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  3. php二维数组排序 按照指定的key 对数组进行排序
  4. JAVA通过JCO连接SAP例子
  5. erlang的dict源码解析(2)
  6. ospf协议_「案例」OSPF路由动态协议及配置
  7. 消费金融盈利分析及风控能力建设
  8. Audition报错:“无法应用设备设置,因为发生了以下错误:MME设备内部错误“
  9. UTF-8 Unicode ANSI网页编码的区别
  10. 自动化专业好找工作吗?就业方向是什么?
  11. 三极管共射放大电路静态工作点怎么设计
  12. 神经网络模型的基本原理,神经元网络算法的思想
  13. VMware虚拟机挂载宿主机共享目录
  14. java如何使截取字符串_java中如何截取字符串中的指定一部分
  15. 混淆矩阵评价指标_分类效果评价指标一混淆矩阵
  16. 淘宝优惠券可直接应用PNG免抠模板,你知道淘宝优惠券的类型么?
  17. Sloan中性群落模型(NCM)推断群落构建原理及其R实现
  18. IOS开发高手课第三篇 App Auto Layout 是怎么进行自动布局的,性能如何?
  19. FIR数字滤波器设计(中)
  20. Java scripr的函数

热门文章

  1. 系统学习深度学习(二十二)--CNN经典模型总结
  2. 系统学习数字图像处理之图像压缩
  3. Apache Hudi入门应用
  4. QT开发_弹出窗口禁用父窗口并移动到父窗口中心位置
  5. 第17讲 | 去中心化与区块链交易性能
  6. 云栖科技评论世界杯特刊:俄罗斯世界杯,新技术再一次升级内容产业
  7. zabbix-proxy+cacti+nagios基本安装配置
  8. 第五次作业--原型设计(结对)
  9. D-News|扎克伯格下月发布人工智能管家,美放宽无人机商用飞行标准
  10. 禁止拖放对象文本被选择的方法