zoukankan      html  css  js  c++  java
  • LA 4256 商人

    题目链接:https://vjudge.net/contest/160916#problem/B

    题意:给一个无向图,和一个序列;要求,在这个序列中,两两相连的两个数相同,或者,在无向图中相邻;(n<=200)

    分析:

    d[i][j] 前 I 个数,最后一位是 j 时,最少的改动量;

    我的渣的地方,就是,相同的时候,前面那个和我要改动的相同;

     1 #include <bits/stdc++.h>
     2 
     3 using namespace std;
     4 
     5 const int maxn = 205;
     6 const int inf = 0x3f3f3f3f;
     7 bool maps[maxn][maxn];
     8 int d[maxn][maxn];
     9 int a[maxn];
    10 
    11 int main()
    12 {
    13     int t;
    14     scanf("%d",&t);
    15     while(t--)
    16     {
    17         int n,m;
    18         scanf("%d%d",&n,&m);
    19 
    20         memset(maps,0,sizeof(maps));
    21         memset(d,inf,sizeof(d));
    22 
    23         for(int i=0; i<m; i++)
    24         {
    25             int u,v;
    26             scanf("%d%d",&u,&v);
    27             maps[u][v] = maps[v][u] = 1;
    28         }
    29 
    30         int k;
    31         scanf("%d",&k);
    32         for(int i=1; i<=k; i++)
    33             scanf("%d",&a[i]);
    34 
    35         for(int i=1; i<=n; i++)
    36         {
    37             d[1][i] = 1;
    38         }
    39         d[1][a[1]] = 0;
    40 
    41         int ans = inf;
    42         for(int i=2; i<=k; i++) //长度
    43         {
    44             for(int j=1; j<=n; j++) //d[i][j]最后面是j
    45             {
    46                 int cast = j==a[i] ? 0:1;
    47                 for(int m=1; m<=n; m++) //枚举前面那个数
    48                 {
    49 
    50                     if(maps[j][m]||j==m)
    51                         d[i][j] = min(d[i][j],d[i-1][m]+cast);
    52                     if(i==k)
    53                         ans = min(ans,d[i][j]);
    54                 }
    55             }
    56         }
    57         printf("%d
    ",ans);
    58     }
    59     return 0;
    60 }
    View Code
  • 相关阅读:
    js 笔记
    openstack笔记
    Nginx
    Nginx
    Nginx
    nginx 服务器篇
    Nginx 原理篇
    MySQL 视图、触发器、函数、存储过程
    day41
    MySQL 作业题及答案
  • 原文地址:https://www.cnblogs.com/TreeDream/p/6776228.html
Copyright © 2011-2022 走看看