2025-11-01 学习日记

发布于 2025-11-01 12:00 197 字 1 min read 手写 每个字都是我自己敲的。

2025-12-24 学习日记2025-12-17 学习日记2025-12-14 学习日记2025-12-09 学习日记2025-12-08 学习日记2025-12-07 学习日记2025-12-06 学习日记2025-12-05 学习日记2025-12-04 学习日记2025-12-03 学习日记2025-12-02 学习日记2025-12-01 学习日记2025-11-30 学习日记2025-11-29 学习日记2025-11-28 学习日记2025-11-27 学习日记2025-11-26 学习日记2025-11-25 学习日记2025-11-24 学习日记2025-11-23 学习日记2025-11-22 学习日记2025-11-21 学习日记2025-11-20 学习日记2025-11-19 学习日记2025-11-18 学习日记2025-11-17 学习日记2025-11-16 学习日记2025-11-15 学习日记2025-11-14 学习日记2025-11-13 学习日记2025-11-12 学习日记2025-11-11 学习日记2025-11-10 学习日记2025-11-09 学习日记2025-11-08 学习日记2025-11-07 学习日记2025-11-06 学习日记2025-11-05 学习日记2025-11-04 学习日记2025-11-03 学习日记2025-11-02 学习日记2025-11-01 学习日记2025-10-31 学习日记2025-10-30 学习日记2025-10-29 学习日记2025-10-28 学习日记2025-10-27 学习日记2025-10-26 学习日记2025-10-25 学习日记2025-10-24 学习日记2025-10-23 学习日记2025-10-22 学习日记2025-10-21 学习日记2025-10-20 学习日记2025-10-19 学习日记2025-10-18 学习日记2025-10-17 学习日记2025-10-16 学习日记2025-10-15 学习日记2025-10-14 学习日记2025-10-13 学习日记2025-10-11 学习日记2025-10-10 学习日记2025-10-09 学习日记2025-10-03 学习日记2025-10-02 学习日记2025-10-01 学习日记2025-09-30 学习日记2025-09-29 学习日记2025-09-28 学习日记2025-09-27 学习日记2025-09-26 学习日记2025-09-25 学习日记2025-09-24 学习日记2025-09-23 学习日记2025-09-22 学习日记2025-09-21 学习日记2025-09-20 学习日记2025-09-18 学习日记2025-09-17 学习日记2025-09-16 学习日记2025-09-15 学习日记2025-09-14 学习日记2025-09-13 学习日记2025-09-12 学习日记2025-09-11 学习日记2025-09-10 学习日记2025-09-09 学习日记2025-09-08 学习日记2025-09-04 学习日记2025-09-03 学习日记2025-09-02 学习日记2025-09-01 学习日记2025-08-31 学习日记2025-08-29 学习日记2025-08-28 学习日记2025-08-27 学习日记2025-08-26 学习日记2025-08-25 学习日记2025-08-24 周记2025-08-23 学习日记2025-08-22 学习日记2025-08-21 学习日记2025-08-20 学习日记2025-08-19 学习日记2025-08-18 学习日记2025-08-17 周记2025-08-16 学习日记2025-08-15 学习日记2025-08-14 学习日记2025-08-13 学习日记2025-08-12 学习日记2025-08-11 学习日记
今日学习记录 1. P1434 SHOI2002 滑雪 - 洛谷 关键词: 问题分析 很简单的问题,找到二维数组上的连续递减的最长长度 核心思路 直接暴力 dfs+记忆化 dfs(i,j)为当前点获得的最长 *最终代码:

今日学习记录

1. P1434 SHOI2002 滑雪 - 洛谷

关键词:dfs+记忆化

问题分析

很简单的问题,找到二维数组上的连续递减的最长长度

核心思路

直接暴力 dfs+记忆化 dfs(i,j)为当前点获得的最长

**最终代码:

#include <bits/stdc++.h>
using namespace std;
#define ve vector
using ll = long long;
using ull = unsigned long long;
using sr = string;
using db = double;
const int N = 105;
const int DIR[4][2] = {{1,0},{-1,0},{0,1},{0,-1}};
ve arr(N,ve<int>(N)),memt(N,ve<int>(N,1));
int r,c,ans = 0;
int dfs(int i,int j){
    if(i<0||i>=r||j<0||j>=c) return 0;
    int &res = memt[i][j];
    if(res!=1) return res;
    for(auto d:DIR){
        int x = i+d[0],y = j+d[1];
        if(x>=0&&x<r&&y>=0&&y<c&&arr[i][j]>arr[x][y]){
            res = max(res,dfs(x,y)+1);
        }
    }
    return res;
}
void solve(){
    cin>>r>>c;
    for(int i = 0;i<r;i++){
        for(int j = 0;j<c;j++){
            cin>>arr[i][j];
        }
    }
    for(int i = 0;i<r;i++){
        for(int j = 0;j<c;j++){
            ans = max(ans,dfs(i,j));
        }
    }
    cout<<ans;
}
signed main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    solve();
}

学到的点:

  1. 记忆化

执笔 手写

随机文章

加载中...