P2784 化学1chem1- 化学合成

还是spfa,距离数组初始化为-1,松弛操作改为*就好了,一开始老是超时,后来加了一个visit数组就过了,这个重复造成的效率浪费还是蛮大的,以后都要加。

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. struct node
  5. {
  6. double v;
  7. int n;
  8. node *next;
  9. }*e[];
  10.  
  11. void push(int x,int y,double z)
  12. {
  13. node *p=new node();
  14. p->n=y;
  15. p->v=z;
  16. if(e[x]==NULL)
  17. {
  18. e[x]=p;
  19. }
  20. else
  21. {
  22. p->next=e[x]->next;
  23. e[x]->next=p;
  24. }
  25. }
  26. int s,t,n,m;
  27. queue<int>q;
  28. double d[];
  29. bool vis[];
  30. void spfa(int x)
  31. {
  32. for(int i=;i<=n;i++)
  33. d[i]=-11111111.0;
  34. d[x]=1.0;
  35. q.push(x);
  36. vis[x]=;
  37. node *p;
  38. while(!q.empty())
  39. {
  40. p=e[q.front()];
  41. while(p!=NULL)
  42. {
  43. if(d[q.front()]*p->v>d[p->n])
  44. {
  45. d[p->n]=d[q.front()]*p->v;
  46. if(!vis[p->n])
  47. {
  48. q.push(p->n);
  49. vis[p->n]=;
  50. }
  51. }
  52. p=p->next;
  53. }
  54. vis[q.front()]=;
  55. q.pop();
  56. }
  57. }
  58.  
  59. void in(int &x)
  60. {
  61. char c=getchar();x=;
  62. while(c<''||c>'')c=getchar();
  63. while(c<=''&&c>='')x=x*+c-'',c=getchar();
  64. }
  65.  
  66. int main()
  67. {
  68. cin>>n>>m>>s>>t;
  69. int x,y;
  70. double z;
  71. for(int i=;i<=m;i++)
  72. {
  73. in(x),in(y);
  74. scanf("%lf",&z);
  75. push(x,y,z);
  76. }
  77. spfa(s);
  78. if(d[t]!=-11111111.0)
  79. printf("%.4f",d[t]);
  80. else
  81. cout<<"orz";
  82. return ;
  83. }

化学1(chem1)- 化学合成的更多相关文章

  1. 洛谷——P2784 化学1(chem1)- 化学合成

    P2784 化学1(chem1)- 化学合成 题目背景 蒟蒻HansBug在化学考场上,挠了无数次的头,可脑子里还是一片空白. 题目描述 眼下出现在蒟蒻HansBug面前的是一个化学合成题,据他所知, ...

  2. sqlserver 行转列 语文,数学,物理,化学

    数据库查询行转列 1.原数据库值 stdname stdsubject result 张三 语文 张三 数学 张三 物理 李四 语文 李四 数学 李四 物理 李四 化学 李四 化学 2.要得到如下表 ...

  3. BZOJ 3697: 采药人的路径 [点分治] [我想上化学课]

    传送门 题意: 路径有$-1,1$两种权值,求有多少路径满足权值和为$0$且有一个点将路径分成权值和为$0$的两段 第四节课本来想去上化学,然后快上课了这道题还没调出来.....可恶我想上化学 昨天两 ...

  4. 51nod 1483 化学变换 | 二进制 暴力

    51nod 1483 化学变换 题面 给出n个整数(n <= 1e5,每个数 <= 1e5),对每个数都可以进行多次操作,操作有两种:乘二/整除以二. 问最少经过多少次操作能使所有数相等. ...

  5. P4711 「化学」相对分子质量

    P4711 「化学」相对分子质量 给你一个字符串让你输出相对分子质量(弱智字符串模拟) 我比赛tm调了两个半小时啊QAQ 希望以后能增加代码力吧,纪念挂代码 Code #include<iost ...

  6. 如何用MathType编辑化学等式

    MathType在数学中应用非常广泛,被大量用于编辑数学公式,MathType不仅可以用来编辑数学公式,还可以编辑化学反应式,那么MathType编辑化学等式怎么操作的呢? 具体操作如下: 1.打开M ...

  7. 在化学教学中怎么用ChemOffice

    在21世纪新课程化学教学中,有很多地方要求化学教师使用计算机和应用程序处理各类化学信息,比如课堂教学.撰写教学论文.制作多媒体课件等,这样可以有效增强教学效果.作为化学教师,在新课程的化学教学中掌握一 ...

  8. ChemDraw中化学信息怎么通过Excel搜索

    用户可以通过ChemDraw for Excel插件功能在Office Excel中建立ChemOffice菜单将ChemOffice和Excel结合使用,使用电子表格的最大优势之一就是可以清晰查看并 ...

  9. 如何用ChemDraw绘制化学课件

    近年来随着ChemDraw等多媒体技术的迅速发展,多媒体技术越来越多的应用在教学中.学会应用ChemDraw绘制化学分子结构.化学反应式和实验装置的方法,将在有机化学的教学中提供一定的帮助,进一步提高 ...

随机推荐

  1. python的__mro__与__slot__

    class A(object): def __init__(self): print ' -> Enter A' print ' <- Leave A' class B(A): def _ ...

  2. keepalived高可用系列~通用基础

    简介:今天咱们来聊聊keepalived一 keepalived 架构 1  标准架构: keepalived+lvs/haproxy+后端 real server(mysql从库,nginx.myc ...

  3. jQuery中【width(),innerWidth(),outerWidth()】

    这个问题,已经别扭我多年了,今天终于彻底解决了,拿出来庆贺一下.jquery作为开源项目,无论从思路上,还是从严谨性上,让人崇敬. 随着时间的流逝,jquery的一些功能被逐渐挖掘出来.通过jQuer ...

  4. jQuery的end() 方法

    定义和用法 end() 方法结束当前链条中的最近的筛选操作,并将匹配元素集还原为之前的状态. 语法 .end() 详细说明 大多数 jQuery 的遍历方法会操作一个 jQuery 对象实例,并生成一 ...

  5. 机器学习编程语言之争,Python夺魁

    机器学习编程语言之争,Python夺魁 随着科技的发展,拥有高容量.高速度和多样性的大数据已经成为当今时代的主题词.数据科学领域中所采用的机器学习编程语言大相径庭.究竟哪种语言最适合机器学习成为争论不 ...

  6. 通过全备+主从同步恢复被drop的库或表

    MySQL 中drop 等高危误操作后恢复方法 实验目的: 本次实验以恢复drop操作为例,使用不同方法进行误操作的数据恢复. 方法: 利用master同步(本文)] 伪master+Binlog+同 ...

  7. tomcat8配置SSL

    参考网址:http://www.micmiu.com/enterprise-app/sso/sso-cas-sample/#viewSource 1.生成证书 keytool -genkey -ali ...

  8. GBDT学习

    白话GBDT: https://blog.csdn.net/qq_26598445/article/details/80853873 优点: 预测精度高 适合低维数据 能处理非线性数据,该版本GBDT ...

  9. Handler机制

    目录结构 Android中的Handler的机制与用法详解,什么是Handler,如何传递 Message,传递 Runnable 对象,传递 Callback 对象,Handler 原理是什么?Ha ...

  10. webpack相关笔记

    文档地址:链接 文档:https://doc.webpack-china.org/configuration/ 慕课网地址:链接 参考地址:链接 1.webpack是一个前端打包工具,特点:代码分割( ...