zoukankan      html  css  js  c++  java
  • 百练1088滑雪

    用的递推

    首先要注意需要排序(结构体排序用sort+<的重载)

    其实又开了一个数组用来存数...只不过结构体排序能方便很多

     1 #include <iostream>
     2 #include <string>
     3 #include <string.h>
     4 #include <vector>
     5 #include <time.h>
     6 #include <algorithm>
     7 
     8 using namespace std;
     9 
    10 //#define DEBUG(x) cout << #x << " = " << x << endl
    11 using namespace std;
    12 const int MAXN=110;
    13 int R,C;
    14 int field[MAXN][MAXN];
    15 int len[MAXN][MAXN];
    16 ///将所有点从小到大排序
    17 struct Point{
    18     int h, i, j;
    19     Point(){}
    20     Point(int h,int i,int j){
    21         this->h=h;
    22         this->i=i;
    23         this->j=j;
    24     }
    25     bool operator<(const Point &p)const
    26     {
    27         return h<p.h;
    28     }
    29 };
    30 int PN=0;
    31 Point points[MAXN*MAXN];
    32 int main()
    33 {
    34     scanf("%d %d",&R,&C);
    35     for(int i=0;i<R;i++){
    36         for(int j=0;j<C;j++){
    37             int h;
    38             scanf("%d",&h);
    39             field[i][j]=h;
    40             points[PN++]=Point(h,i,j);
    41             len[i][j]=1;
    42         }
    43     }
    44     sort(points,points+PN);
    45     int r=-1;
    46     ///人人为我型递推
    47     for(int k=0;k<PN;k++){
    48         int i=points[k].i,
    49                 j=points[k].j,
    50                 h=points[k].h;
    51         if(i+1<R&&field[i+1][j]<field[i][j])len[i][j]=max(len[i][j],len[i+1][j]+1);
    52         if(i-1>=0&&field[i-1][j]<field[i][j])len[i][j]=max(len[i][j],len[i-1][j]+1);
    53         if(j+1<C&&field[i][j+1]<field[i][j])len[i][j]=max(len[i][j],len[i][j+1]+1);
    54         if(j-1>=0&&field[i][j-1]<field[i][j])len[i][j]=max(len[i][j],len[i][j-1]+1);
    55         r=max(r,len[i][j]);
    56     }
    57     printf("%d
    ",r);
    58     return 0;
    59 }
  • 相关阅读:
    [CF724G]Xor-matic Number of the Graph
    [SOJ #537]不包含 [CF102129I]Incomparable Pairs(2019-8-6考试)
    [SOJ #538]好数 [CC]FAVNUM(2019-8-6考试)
    [洛谷P4052][JSOI2007]文本生成器
    [洛谷P3966][TJOI2013]单词
    [洛谷P5158]【模板】多项式快速插值
    [洛谷P3227][HNOI2013]切糕
    【bzoj】3477: [Usaco2014 Mar]Sabotage 01分数规划
    【SPOJ
    【以前的空间】系列
  • 原文地址:https://www.cnblogs.com/zhmlzhml/p/13385654.html
Copyright © 2011-2022 走看看