文章

1

粉丝

37

获赞

1

访问

190

头像
不连续1的子串 题解:
P1726 中山大学2019年机试题
发布于2024年3月3日 23:48
阅读数 190

动态规划解法

dp0 的第 i 个元素表示第 i 个元素为 0 时可能数(前 i+1 个字符满足条件)

dp1 的第 i 个元素表示第 i 个元素为 1 时可能数(前 i+1 个字符满足条件)

#include<bits/stdc++.h>

using namespace std;

int compute(int n) {
    if (n == 0 && n == 1) {
        return 0;
    }
    int res = 0;
    vector<int> dp0(n);
    vector<int> dp1(n);
    dp0[0] = 1;
    dp1[0] = 1;
    for (int i = 1; i < n; ++i) {
        dp0[i] = dp0[i-1] + dp1[i-1];
        dp1[i] = dp0[i-1];
    }

    return dp0[n-1] + dp1[n-1];
}


int main() {
    int n;
    cin >> n;
    cout << compute(n) <<endl;
    return 0;
}


 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发