当前位置: 首页 > news >正文

DAY58拓扑排序

记得添加边的话
利用List<List>,对每个点都建立一个列表,里面存放它所指向的点

软件构建

其实就是一个判断是否存在环的问题
方法:依次去掉入度为0的点

    public static void main(String[] args) {Scanner in=new Scanner(System.in);int n=in.nextInt();int m=in.nextInt();List<List<Integer>> adjList=new ArrayList<>();for(int i=0;i<n;i++)adjList.add(new ArrayList<>());int[]inDegree=new int[n];for(int i=0;i<m;i++){int a=in.nextInt();int b=in.nextInt();adjList.get(a).add(b);inDegree[b]++;}Queue<Integer> que=new LinkedList<>();for(int i=0;i<n;i++){if(inDegree[i]==0)que.add(i);}List<Integer> res=new ArrayList<>();while (!que.isEmpty()) {int cur=que.poll();res.add(cur);for(int node:adjList.get(cur)){inDegree[node]--;if(inDegree[node]==0){que.add(node);}}}if(res.size()==n){for(int i=0;i<res.size();i++){System.out.print(res.get(i));if(i<res.size()-1)System.out.print(" ");}}else{System.out.println(-1);}}

参加科学大会

选择一条花费时间最少的路线

    public static void main(String[] args) {Scanner in=new Scanner(System.in);int n=in.nextInt();int m=in.nextInt();int[][]graph=new int[n+1][n+1];for(int i=0;i<=n;i++){Arrays.fill(graph[i],Integer.MAX_VALUE);}for(int i=0;i<m;i++){int a=in.nextInt();int b=in.nextInt();int val=in.nextInt();graph[a][b]=val;}int start=1;int end=n;int[]minDist=new int[n+1];Arrays.fill(minDist,Integer.MAX_VALUE);boolean[]visit=new boolean[n+1];minDist[start]=0;for(int i=1;i<=n;i++){int min=Integer.MAX_VALUE;int cur=1;//选取距离原点近且未访问过的点for(int v=1;v<=n;v++){if(!visit[v]&&minDist[v]<min){min=minDist[v];cur=v;}}visit[cur]=true;//更新非访问节点到源点的距离for(int v=1;v<=n;v++){if(!visit[v]&&graph[cur][v]!=Integer.MAX_VALUE){minDist[v]=minDist[cur]+graph[cur][v];}}}if(minDist[end]==Integer.MAX_VALUE){System.out.println(-1);}else{System.out.println(minDist[end]);}}

http://www.mrgr.cn/news/26261.html

相关文章:

  • 阿里云服务器 篇八:图片展示和分享网站(纯静态,数据信息和展示页面分离)
  • 【IPV6从入门到起飞】5-2 IPV6+Home Assistant(ESP32+MQTT+DHT11+BH1750)传感器采集上传监测
  • 鸿蒙读书笔记1:《鸿蒙操作系统设计原理与架构》
  • “百度热搜”揭示月饼遇冷背后:如何在经济下行中理性消费 + 应对风险?
  • yarn运行机制原理
  • 关于 Camera Tuning 岗位的一些认识和看法
  • 深入理解线程互斥锁
  • 音视频入门基础:AAC专题(1)——AAC官方文档下载
  • C盘空间不足如何解决?解决C盘空间不足的7个方法
  • 【聊聊AI编程必不可少的NLTK及其punkt、punkt_tab安装】
  • 双线性插值概念及MATLAB实现
  • C#基础知识-.NET,变量,容量单位,数据类型
  • 总结拓展九:SAP数据迁移(2)
  • Java项目: 基于SpringBoot+mybatis+maven旅游管理系统(含源码+数据库+毕业论文)
  • icpc江西:L. campus(dij最短路)
  • SCRM电商管理后台Axure高保真原型 源文件
  • 李龙受邀参加济南高新区“质量月”能力提升活动,并做专题培训
  • 动手学习RAG: moka-ai/m3e 模型微调deepspeed与对比学习
  • 队列(链表实现)
  • [数据集][目标检测]车油口挡板开关闭合检测数据集VOC+YOLO格式138张2类别