B. Find the Spruce(cf) dp

 题目大意:就是找有多少个图上的这些图形

其实可以从下往上看,如果这个点是‘*’,它本身就是一个;如果它的下方,下方左边,下方右边都是‘*’,那么又要加...想想看第三个图是不是应该是dp[i][j] += min(dp[i][j], dp[i + 1][j - 1], dp[i + 1][j + 1]),当然初始应该吧所有是‘*’地方的dp[i][j]设为1,'.'的dp[i][j]设为0。

#include<bits/stdc++.h>
using namespace std;
#define INF 0x3f3f3f3f
typedef pair<int, int> PII;
const double pi = acos(-1.0);
#define rep(i, n) for (int i = 1; i <= (n); ++i)
#define rrep(i, n) for (int i = n; i >= (1); --i)
typedef long long ll;
#define sqar(x) ((x)*(x))

const int N = 510;
char a[N][N];
int dp[N][N];

int main(){
    int t, n, m;
    cin >> t;
    while(t--){
        memset(dp, 0, sizeof dp);
        cin >> n >> m;
        rep(i,n) scanf("%s", a[i] + 1);
        rep(i, n) rep(j, m){
            if(a[i][j] == '*') dp[i][j] = 1;
        }
        ll res = 0;
        for(int i = n; i >= 1; i--){
            for(int j = 1; j <= m; j++){
                if(dp[i][j]) dp[i][j] += min(dp[i + 1][j], min(dp[i + 1][j - 1], dp[i + 1][j + 1]));
                res += dp[i][j];
            }
        }
        cout << res << endl;
    }
    return 0;
}

好的,我可以帮您解决这个问题。首先,让我们看一下数据集的基本信息: 数据集名称:covtype.csv 数据集来源:UCI Machine Learning Repository 数据集描述:该数据集包含根据各种地理和环境因素测量的30个特征,来预测科罗拉多州罗斯国家森林区域树木类型。数据集中共有7个树木类型,分别是:1 - Spruce/Fir、2 - Lodgepole Pine、3 - Ponderosa Pine、4 - Cottonwood/Willow、5 - Aspen、6 - Douglas-fir、7 - Krummholz。 数据集下载地址:https://archive.ics.uci.edu/ml/datasets/covertype 根据您的需求,我们需要使用Jupyter Notebook来对该数据集进行处理和分析。以下是代码实现: 首先,我们需要导入所需的Python库,代码如下: ```python import pandas as pd import numpy as np from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accuracy_score ``` 接着,我们需要读取数据集,代码如下: ```python data = pd.read_csv('covtype.csv') ``` 为了方便处理数据,我们需要将数据集中的目标变量(即树木类型)与其他特征分开,代码如下: ```python X = data.iloc[:, :-1] y = data.iloc[:, -1] ``` 由于数据集中的特征数量比较多,并且各个特征之间的取值范围也有所不同,因此我们需要对数据进行标准化处理,代码如下: ```python scaler = StandardScaler() X = scaler.fit_transform(X) ``` 接着,我们需要将数据集分为训练集和测试集,代码如下: ```python X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=58000, random_state=42) ``` 最后,我们使用决策树模型对数据进行训练和预测,并计算模型的准确率,代码如下: ```python model = DecisionTreeClassifier(random_state=42) model.fit(X_train, y_train) y_pred = model.predict(X_test) accuracy = accuracy_score(y_test, y_pred) print('准确率:', accuracy) ``` 这样,我们就完成了树木类型识别任务的实现。希望这些代码能够对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值