羅区P1279文字列の距離の問題解決

デイリー質問day24パンチ

分析

文字列+ DP

その値は3つの値の最も小さいFのための注意深い観察、[I] [J]。

  1. F [I-1]〜[J] + K // [i]の空間に対応
  2. F [I] [J-1] + K // B [j]が空間に対応
  3. F [I-1] [J-1] + ABS([I-1] -b [J-1])[i]はBに対応する[j]を//我々は、最終的に動的伝達方程式を得ること、及び答えはで[長さ] F [長さb]です。 

また、単に初期化するために注意を払います。

1の#include <iostreamの>
 2の#include <cstdioを>
 3の#include <CStringの>
 4の#include <アルゴリズム>
 5の#include <cmath>
 6  の#define INT長い長い
 7  の#define MAXN 2000 + 10
 8  使用して 名前空間STD。
9インラインint型リード() 
 10  {
 11      INT X = 0 12      ブール F = 1 13      チャー C = GETCHAR()。
14      のために(C = GETCHAR()!; isdigit(c)参照)場合(C == ' - ')、F = 0 15      のために(; isdigit(C); C = GETCHAR())x =(x << 3)+(X << 1)+ C- ' 0 ' 16      であれば(F) リターンX。
17      リターン 0 - X。
18  }
 19インラインボイド書き込み(INT X)
 20  {
 21      であれば(X < 0){のputchar(' - '); X = - X;}
 22      場合(X> 9)、書き込み(X / 10 )。
23      のputchar(Xの%10 + ' 0 ' )。
24  }
 25  CHAR [MAXN]、B [MAXN]。
26  int型 K、レナ= 1、LENB = 1 27  INT DP [MAXN] [MAXN]。
28インラインINT min_four(int型のx、int型のy、int型 Z、INT O)
 29  {
 30      リターン分(MIN(x、y)は、分(Z、O))。
31  }
 32インラインINT図(チャー X、チャーY)
 33  {
 34      INT NX = X- ' 0 '、NY = Y- ' 0 ' 35の     リターン ABS(NX- NY)。
36  }
 37  )(主符号付き
 38  {
 39      のmemset(DP、127はsizeof (DP))。
40      一方、1 41      {
 42          INT   = GETCHAR()。
43          もし == " \ n個' 44          {
 45              lena-- 46              ブレーク;
47          }
 48          [レナ] = ;
49          レナ++ ;
50      }
 51      ながら、1 52      {
 53          INT   = GETCHAR()。
54          であれば == ' の\ n ' 55          {
 56              lenb-- 57              ブレーク;
58          }
 59          B [LENB] = ;
60          LENB ++ ;
61      }
 62      K = リード()。
63      DP [ 0 ] [ 0 ] = 0 64      のためにint型 I = 1 ; I <=レナ; I ++)は、DP [I] [ 0 ] = DP [I- 1 ] [ 0 ] + K。
65      のためにint型 I = 1 ; I <= LENB; I ++)は、DP [ 0 ] [I] = DP [ 0 ] [I- 1 ] + K。
66      のためにint型 I = 1 ; I <=レナI ++ 67          のためのINT J = 1 ; J <= LENB; J ++ 68          {
 69              DP [I] [J] = min_four(DP [I] [J] 、DP [I- 1 ] [J] + K、DP [I]、[J- 1 ] + K、DP [I- 1 ] [J- 1 ] + 図([I]、B [J])) ;
70          }
 71      ライト(DP [レナ] [LENB])。
72      リターン 0 ;
73  }

論文をギャングしてください(とにかく、私はそれが論文を何を意味するのか知りません)

 

おすすめ

転載: www.cnblogs.com/handsome-zyc/p/11618372.html