zoukankan      html  css  js  c++  java
  • RONOJ——PID204 / 特种部队 ☆

    题目描述

    某特种部队接到一个任务,需要潜入一个仓库。该部队士兵分为两路,第一路士兵已经在正面

    牵制住了敌人,第二路士兵正在悄悄地从后方秘密潜入敌人的仓库。

    当他们到达仓库时候,发现这个仓库的锁是一把很诡异的电子锁,上面是一排按钮,每个按钮

    上都有一个数字……10 秒钟后,总部返回了该锁的技术信息。要解开这把锁,首先要从左边的第

    一个按钮开始向右按动,中间可以跳过某些按钮,按动到最右边的按钮后,反向向左按动。最终,

    每个按钮都要按且仅按一次。每两个相邻按钮上数字之差的总和的最小值,便是解开这把锁的密码。

    作为一支装备精良的特种部队,必须要在最短的时间内完成任务,解开这把锁,潜入仓库。

    输入格式

    第一行是一个n(2 <= n <= 1000)表示共有n 个按钮。

    第二行是n 个正整数,代表从左至右各按钮上的数字,数值均不超过2000。

    输出格式

    只有一个数,为这把锁的密码。

    f[i][j]表示向右按到i,向左按到j的最优解

    设k=max(i,j)+1,则 点k 可以更新到i,到j的最优解

     1 #include <cstdlib>
     2 #include <cstring>
     3 #include <cstdio>
     4 
     5 #define max(a,b) (a>b?a:b)
     6 #define min(a,b) (a<b?a:b)
     7 const int N(1005);
     8 int n,num[N],dis[N][N],f[N][N];
     9 
    10 int Presist()
    11 {
    12     scanf("%d",&n);
    13     for(int i=1; i<=n; ++i)
    14         scanf("%d",num+i);
    15     for(int i=1; i<=n; ++i)
    16       for(int j=1; j<=n; ++j)
    17         dis[i][j]=abs(num[i]-num[j]);
    18     memset(f,127,sizeof(f)); f[0][0]=0;
    19     for(int k,i=0; i<=n; ++i)
    20         for(int j=0; j<=n; ++j)
    21         {
    22             k=max(i,j)+1;
    23             f[i][k]=min(f[i][k],f[i][j]+dis[j][k]);
    24             f[k][j]=min(f[k][j],f[i][j]+dis[k][i]);
    25         }
    26     int ans=0x3f3f3f3f;
    27     for(int i=1; i<=n; ++i)
    28     {
    29         ans=min(ans,f[i][n]+dis[i][n]);
    30         ans=min(ans,f[n][i]+dis[n][i]);
    31     }
    32     printf("%d
    ",ans);
    33     return 0;
    34 }
    35 
    36 int Aptal=Presist();
    37 int main(){;}
    ——每当你想要放弃的时候,就想想是为了什么才一路坚持到现在。
  • 相关阅读:
    Toast的替代者Snackbar
    SnappyDB—Android上的NoSQL数据库简介
    ButterKnife使用小结
    The following classes could not be found:
    asp.net后台解析JSON,并将值赋给对象
    .NET4.0的listview与DataPager的结合使用时的模板编辑
    ASP.NET 后台页面无法识别服务器控件ID
    Asp.net中判断是否是指定页面请求的代码示例
    ASP.NET中修改从数据库获取的datatable中的值
    GridView自定义分页样式(上一页,下一页,到第几页)
  • 原文地址:https://www.cnblogs.com/Shy-key/p/7517840.html
Copyright © 2011-2022 走看看