ACM题解Day6|动态规划基础| 超级楼梯 | 数列求值

本文介绍了如何通过数据结构和动态规划解决超级楼梯数列求值和数列求值的ACM问题,提供了C++代码示例,并分享了学习成果,包括技术笔记、博客和视频教程。
摘要由CSDN通过智能技术生成

学习目标:

博主介绍: 27dCnc
专题 : 数据结构帮助小白快速入门算法
👍👍👍👍👍👍👍👍👍👍👍👍
☆*: .。. o(≧▽≦)o .。.:*☆

Github今日打卡
1111

  • ACM题解

学习时间:

  • 周一至周五晚上 7 点—晚上9点
  • 周六上午 9 点-上午 11 点
  • 周日下午 3 点-下午 6 点

学习内容:

  1. 超级楼梯
  2. 数列求值

内容详细:

超级楼梯

题目考点: 动态规划
2222
思路

步数的叠加,但是注意初始化

详细代码

#include<bits/stdc++.h>
#define Run 1
#define endl "\n"
#define N 1000
using unl = __int128_t;
using ll = long long;
using namespace  std;

class Solution {
public:
    void slove() {
        ll n; cin >> n;
        ll a[N];
        a[1] = 0;
        a[2] = 1; //从2开始
        a[3] = 2;
        for (ll i = 4; i <= 40;i++) {
            a[i] = a[i - 1] + a[i - 2];
        }
        cout << a[n] << endl;
    }
};

signed main() {
    cin.tie(0) -> ios::sync_with_stdio(0);
    cout.tie(0) -> ios::sync_with_stdio(0);
    #if Run
        int _;cin>>_;while(_--) Solution().slove();
    #else
        Solution().slove();
    #endif
    return 0;
}

数列求值

题目考点: 数列 动态规划 同余定理

在这里插入图片描述

思路

只要运用基础的动态规划的思维,将前三个数据,相加可能会超出内存

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int mod = 1e4;
LL dp[20190325];   //数列从1下标开始
int main() {
    LL n;
    dp[0] = 1;dp[1] = 1;dp[2] = 1;
    while (cin >> n) {
        for (auto i = 3; i <= n; i ++) {
            dp[i] = (dp[i - 1] + dp[i - 2] + dp[i - 3]) % 10000; //同余定理
        }
        cout << dp[n - 1] << "\n";
    }
}

学习产出:

  • 技术笔记 2 遍
  • CSDN 技术博客 3 篇
  • 习的 vlog 视频 1 个

在这里插入图片描述

重磅消息:

GTP - 4 最新版接入服务他来了 点击链接即可查看详细

GTP - 4 搭建教程

🔥如果此文对你有帮助的话,欢迎💗关注、👍点赞、⭐收藏、✍️评论,支持一下博主~

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值