• 多段图动态规划dp


    多段图问题是DP的基础题目。大体的意思是有一个赋权有向图,其顶点集被分为几个子集。求经过每个子集从源点到终点的最短路径

     1 import java.util.ArrayList;
     2 import java.util.Arrays;
     3 import java.util.Scanner;
     4 import java.util.Stack;
     5 
     6 public class Main {
     7 private static final int k = 3;
     8 private static int[] P = new int[k];
     9 
    10 public static void MultiGraph(int[][] G,int n)
    11 {
    12     int[] COST = new int[n];
    13 
    14     Arrays.fill(COST,100);
    15     int[] D = new int[n];
    16     int temp = 100;
    17     COST[0]=0;
    18     D[0]=0;
    19     for(int j=1;j<n;j++)
    20     {
    21         for(int r = 0;r<j;r++)
    22         {
    23 
    24             if(G[j][r]!=0)
    25             {
    26                 if(COST[j]>COST[r] + G[j][r])
    27                 {
    28                     COST[j]=COST[r]+G[r][j];
    29                     temp = r;
    30 
    31                 }
    32             }
    33 
    34         }
    35 
    36         D[j] = temp;
    37     }
    38     P[k-1]=D[n-1];
    39     P[0]=0;
    40     for(int j = 2;j>1;j--)
    41     {
    42         P[j-1] = D[P[j]];
    43     }
    44     for (int te: P
    45          ) {
    46         System.out.println(te);
    47 
    48     }
    49 }
    50 
    51     public static void main(String[] args)
    52     {
    53         //新建一个树
    54         int[][] G = {
    55                 {0,2,3,4,0,0,0},
    56                 {2,0,0,0,6,0,0},
    57                 {3,0,0,0,5,0,0},
    58                 {4,0,0,0,0,2,0},
    59                 {0,6,5,0,0,0,3},
    60                 {0,0,0,4,0,0,1},
    61                 {0,0,0,0,3,1,0},
    62         };
    63 
    64         MultiGraph(G,7);
    65 
    66     }
    67 
    68 }
  • 相关阅读:
    vSphere vCenter的个人理解及问题
    服务器账号过期处理
    虚拟化初探引入
    win10虚拟机跨网段迁移
    win7远程执行win10的抓取代码
    Jenkins+Sonar质量门禁【实践篇pipeline版】
    ELK7.10 license过期处理
    php 0108
    php 0110
    php 0111
  • 原文地址:https://www.cnblogs.com/ren-jie/p/5256479.html
Copyright © 2020-2023  润新知