【蓝桥杯专题】 递归 递推 (C++ | 洛谷 | acwing)

news2024/11/14 17:30:12

文章目录

  • 【蓝桥杯专题】 递归 &递推 (C++ | 洛谷 | acwing)
  • 复习
  • P5534 【XR-3】等差数列
  • P4994 终于结束的起点
  • P1028 [NOIP2001 普及组] 数的计算
  • 波动数列
  • [递归]母牛的故事
  • 蓝桥杯:耐摔指数

菜狗现在才开始备战蓝桥杯QAQ

【蓝桥杯专题】 递归 &递推 (C++ | 洛谷 | acwing)

复习

【蓝桥杯真题】 (一) 递归与递推 (Acwing 蓝桥杯 笔记)——链接

P5534 【XR-3】等差数列

  • 等差数列公式

  • 公式一:Sn = (a1 + an) × n / 2;

  • 公式二:Sn = n × a1 + n × (n - 1) × d / 2;

#include <bits/stdc++.h>
// #include <iostream>
using namespace std;
typedef long long ll;
typedef double db;
#define rep(i, a, n) for(int i = a; i <= n; i ++)
#define per(i, a, n) for(int i = n; i <= a; i --)
#define pb push_back;
#define fs first;
#define sz second;
#include <stdlib.h> // atoi
#define debug cout<<"debug"<<"\n"
#define endl "\n";
const int INF = 0x3f3f3f3f;
const int mod=1e9+7;
const int N = 1e6 + 10;


int a[N];

void solve () {
	ll n, d, ans = 0;
	cin >> a[0] >> a[1] >> n;
	d = a[1] - a[0];

	ans = n * a[0] + n * (n - 1) * d / 2;
	cout << ans << endl;
}

int main(void){
	freopen("in.txt","r",stdin);
    ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
	int T = 1;
    // cin >> T;
	while(T --) solve();
	return 0;
}

P4994 终于结束的起点

lj
+

#include <bits/stdc++.h>
// #include <iostream>
using namespace std;
typedef long long ll;
typedef double db;
#define rep(i, a, n) for(int i = a; i <= n; i ++)
#define per(i, a, n) for(int i = n; i <= a; i --)
#define pb push_back;
#define fs first;
#define sz second;
#include <stdlib.h> // atoi
#define debug cout<<"debug"<<"\n"
#define endl "\n";
const int INF = 0x3f3f3f3f;
const int mod=1e9+7;
const int N = 1e6 + 10;



ll M;
ll fp[10000002];


// int a[N];
ll f(ll i) {
	if(fp[i]) return fp[i];
	if(i == 1 || i == 2) return fp[i] = 1 % M;
	else return fp[i] = (f(i - 1) + f(i - 2)) % M;
}

void solve () {
	cin >> M;
	ll z  = 1;
	// rep(i, 2, 1000) {
		while(f(z)  !=0 || f(z + 1) != 1) {
			z ++;
		}
	cout << z << endl;

}

int main(void){
	freopen("in.txt","r",stdin);
    ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
	int T = 1;
    // cin >> T;
	while(T --) solve();
	return 0;
}

P1028 [NOIP2001 普及组] 数的计算

链接 链接
在这里插入图片描述


#include <bits/stdc++.h>
// #include <iostream>
using namespace std;
typedef long long ll;
typedef double db;
#define rep(i, a, n) for(int i = a; i <= n; i ++)
#define per(i, a, n) for(int i = n; i <= a; i --)
#define pb push_back;
#define fs first;
#define sz second;
#include <stdlib.h> // atoi
#define debug cout<<"debug"<<"\n"
#define endl "\n";
const int INF = 0x3f3f3f3f;
const int mod=1e9+7;
const int N = 1e6 + 10;

int dp[1001];

int f(int n) {
  if(n == 1)return 1;
  else if(n == 2) return 2;
  if(n % 2 == 0) return f(n - 1) + f(n / 2);
  else if(n % 2 == 1) return f(n - 1);
}

void solve () {
    int n;
    cin >> n;
    // cout << f(n) << endl; //TLE

    rep(i, 1, n) {
        rep(j, 1, i / 2) {
            dp[i] += dp[j];
        }
        dp[i] ++;
    }
    cout << dp[n] << endl;

}

int main(void){
	freopen("in.txt","r",stdin);
    ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
	int T = 1;
    // cin >> T;
	while(T --) solve();
	return 0;
}

波动数列

链接 链接

#include <bits/stdc++.h>
// #include <iostream>
using namespace std;
typedef long long ll;
typedef double db;
#define rep(i, a, n) for(int i = a; i <= n; i ++)
#define per(i, a, n) for(int i = n; i <= a; i --)
#define pb push_back;
#define fs first;
#define sz second;
#include <stdlib.h> // atoi
#define debug cout<<"debug"<<"\n"
#define endl "\n";
const int INF = 0x3f3f3f3f;
const int mod=100000007;
const int N = 1005;

int n , s, a, b;
int f[N][N];

// 那
int get_mod (int a, int b) {
    return (a % b + b) % b;
}

void solve () {
    cin >> n >> s >> a >> b;
    f[0][0] = 1;
      for(int i = 1 ; i < n ; i++)
        for(int j = 0 ; j < n ; j++)
            f[i][j] = (f[i - 1][get_mod(j - i * a , n)] + f[i - 1][get_mod(j + i * b, n)]) % mod; 
    cout << f[n - 1][get_mod(s, n)] << endl;
}

int main(void){
	freopen("in.txt","r",stdin);
    ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
	int T = 1;
    // cin >> T;
	while(T --) solve();
	return 0;
}

[递归]母牛的故事

链接 链接
在这里插入图片描述

#include <bits/stdc++.h>
// #include <iostream>
using namespace std;
typedef long long ll;
typedef double db;
#define rep(i, a, n) for(int i = a; i <= n; i ++)
#define per(i, a, n) for(int i = n; i <= a; i --)
#define pb push_back;
#define fs first;
#define sz second;
#include <stdlib.h> // atoi
#define debug cout<<"debug"<<"\n"
#define endl "\n";
const int INF = 0x3f3f3f3f;
const int mod=1e9+7;
const int N = 1e5 + 10;

int f[56] = {0, 1, 2, 3, 4};


// ! 递归可能超时   建议 记忆化搜索
// 递归题  写前几项规律 或许可以碰运气
int dfs(int n) {
    if(n <= 4) return n;
    else if (f[n] == 0) {
        f[n] = dfs(n - 1) + dfs(n - 3); ///数组记录递归结果,加快速度,记忆递归

        return f[n];
    }
    else if (f[n] != 0) {
        return f[n];
    }

}

void solve () {
    int n;
    // cin >> n
    while(cin >> n) {
        // cin >> n;
        if(n == 0) break;
        // cout << n << endl;
        cout << dfs(n) << endl;
    }
}

int main(void){
	// freopen("in.txt","r",stdin);
    ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
	int T = 1;
    // cin >> T;
	while(T --) solve();
	return 0;
}

蓝桥杯:耐摔指数

补题 递推
https://www.lanqiao.cn/problems/?first_category_id=1&page=7&sort=pass_rate&second_category_id=3&tags=%E9%80%92%E6%8E%A8

链接 链接



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/392981.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

8 神经网络及Python实现

1 人工神经网络的历史 1.1 生物模型 1943年&#xff0c;心理学家W.S.McCulloch和数理逻辑学家W.Pitts基于神经元的生理特征&#xff0c;建立了单个神经元的数学模型&#xff08;MP模型&#xff09;。 1.2 数学模型 ykφ(∑i1mωkixibk)φ(WkTXb)y_{k}\varphi\left(\sum_{i1…

基于龙芯+国产FPGA 的VPX以太网交换板设计(三)

调试与测试是本系统设计实现的重要环节。单板调试主要包括各单元电路和接口 的调试&#xff0c;主要通过查看信号波形和运行软件对每个功能进行测试。本章将设计一系列 的调试和测试方案来验证电路设计的正确性。 6.1 电路板静态检查 经过原理图设计、印制板设计、制造、印制板…

HTML5智慧渔业WebGL可视化云平台

中国作为全球第一大水产养殖大国&#xff0c;未来中国水产养殖的出路在哪里?智慧渔业到底能起到多大的作用?在未来它能为我国水产养殖做出什么深刻的变化吗?今天给大家分享一个基于 数维图 的 Sovit3D可视化编辑器 构建的水产养殖3D可视化场景案例——智慧渔业可视化管理系统…

Hadoop框架:MapReduce基本原理和入门案例

Hadoop MapReduce是一种用于处理大数据的编程模型。它将数据集切分成多个小任务&#xff0c;每一个小任务都可以通过独立的计算来完成&#xff0c;最终的结果可以通过合并或更新数据来进行聚合。Hadoop MapReduce极大地简化了处理大数据的过程&#xff0c;因为它可以同时进行多…

锁屏面试题百日百刷-Hive篇(十一)

锁屏面试题百日百刷&#xff0c;每个工作日坚持更新面试题。锁屏面试题app、小程序现已上线&#xff0c;官网地址&#xff1a;https://www.demosoftware.cn。已收录了每日更新的面试题的所有内容&#xff0c;还包含特色的解锁屏幕复习面试题、每日编程题目邮件推送等功能。让你…

大坝安全监测和水雨情测报系统-智慧水利

政策背景2021年3月23日《国务院办公厅关于切实加强水库除险加固和运行管护工作的通知》&#xff08;国办发〔2021〕8号&#xff09;和2021年9月22日国务院常务会议均明确要求&#xff0c;加快推进水库除险加固&#xff0c;加强雨水情和安全监测预警设施建设&#xff0c;健全常态…

23种Java设计模式

目录 &#x1f9e1; Java 设计模式 六大原则 创建型模式 工厂模式 (Factory Pattern) 抽象工厂模式 (Abstract Factory Pattern) 单例模式 (Singleton Pattern) 建造者模式 (BuilderPattern) 原型模式 (Prototype Pattern) 结构型模式 适配器模式 (Adapter Pattern) …

vmware 虚拟机创建 LVM

LVM 原理 LVM (Logical volume Manager): 虚拟设备驱动&#xff0c;是在内核中块设备和物理设备之间添加的一个新的抽象层次, LVM 可以弹性的调整 文件系统的容量 LVM的实现原理&#xff1a;LVM 将几个实体的 partitions/disk 通过软件组合成一块独立的大磁盘VG&#xff0c;之…

中职网络空间安全B-windows渗透

Windows渗透 目录 Windows渗透 要点 cev2017-7269 ms14-064 pr.exe 提权 3389.bat 打开连接 破解hash 总体是众多小点的结合 1.通过本地pc中的渗透平台kali对服务器场景进行服务及版本扫描渗透测试&#xff0c;并将该操作显示结果中445端口对应的服务版本信息字符串作为fla…

Django实践-03模型-02基于admin管理表

文章目录Django实践-03模型利用Django后台管理模型1. 将admin应用所需的表迁移到数据库中。2. 创建访问admin应用的超级用户账号&#xff0c;3. 运行项目4.注册模型类5.对模型进行CRUD操作。6.实现学科页和老师页效果1. 修改polls/views.py文件。2.修改templates/polls/subject…

THUPC-2023 游记

清华校赛&#xff0c;战火重燃 原文链接 宣传图 上周四同学在洛谷无意间看到了宣传图&#xff0c;当时很有感触。不知觉间&#xff0c;又是一年春&#xff0c;又是一场触动心弦的 THUPC 了。 周五的团建过于有趣&#xff0c;致使我完全将 THUPC 抛之脑后了。 周日上午被省选…

原型链(回顾)

概念prototype__proto__原型链查找机制万物皆对象判断私有/共有属性方法Object.prototype.prototype nullObject.create(proto, [propertiesObject])给类的原型上扩展属性方法的4种方法Fn.prototype.xxx xxxObject.prototype.xxx xxxf1.proto.xxx xxx原型重定向 概念 原型…

虚拟相机 Cinemachine Virtual Camera

一.简介 本质上,虚拟相机应该是相机行为的配置文件,虚拟相机之间的切换实际上就是在进行相机行为之间的切换; 虚拟相机并不会创建任何摄像机,他只会创建虚拟节点,实际上操作的是Cinemachine Brain 虚拟相机属性设置完毕后,应尽量避免在游戏中对齐进行修改, 如有需要可以多创建…

RocketMQ-03

1. 高级功能 1.1 消息存储 分布式队列因为有高可靠性的要求&#xff0c;所以数据要进行持久化存储。 消息生成者发送消息MQ收到消息&#xff0c;将消息进行持久化&#xff0c;在存储中新增一条记录返回ACK给生产者MQ push 消息给对应的消费者&#xff0c;然后等待消费者返回A…

Ubuntu 搭建文件服务器(Nginx)

1&#xff0c;下载Nginx 2&#xff0c;安装Nginx 3&#xff0c;Nginx指令及脚本使用 4&#xff0c;配置Nginx 1&#xff0c;下载Nginx ①去官网下载对应的Nginx版本 nginx: download ②直接在ubuntu使用指令下载 wget http://nginx.org/download/nginx-1.23.3.tar.gz 2…

网上赚钱的兼职有哪些,互联网兼职什么挣钱多?

2023年&#xff0c;大投资的创业并不适合普通人&#xff0c;而小投资的创业形式&#xff0c;轻资产创业也需要资金&#xff0c;所以&#xff0c;很多人考虑到了兼职赚钱&#xff0c;那么&#xff0c;网上赚钱的兼职有哪些&#xff0c;互联网兼职做什么挣钱比较多呢&#xff1f;…

DHCP Snooping讲解

DHCP Snooping时DHCP的一种安全特性&#xff0c;用于保证DHCP客户端从合法的DHCP服务器获取IP地址&#xff0c;并记录DHCP客户端IP地址与MAC地址等参数的对应关系&#xff0c;防止网络上针对DHCP攻击 通过配置信任端口和非信任端口来实现安全防护 信任接口 正常接收DHCP服务器响…

网络安全之暴力破解介绍及暴力破解Tomcat

网络安全之暴力破解介绍及应用场景一、暴力破解介绍1.1 暴力破解介绍1.2 暴力破解应用场景一、暴力破解Tomcat一、暴力破解介绍 1.1 暴力破解介绍 暴力破解字典&#xff1a;https://github.com/k8gege/PasswordDic 1.2 暴力破解应用场景 一、暴力破解Tomcat 登录Tomcat后台&a…

重磅通知!OpenAI又放大招:官宣开放API接口-3.5版本 需求大涨,机遇与挑战并存,谁能拔得头筹?

3月2日&#xff0c;在各大论坛网站霸榜了一个多月&#xff0c;ChatGPT相关话题的热度仍高居不下。这边热度未歇&#xff0c;那边研发ChatGPT的人工智能公司又在互联网上投下一颗重磅“炸弹”&#xff1a;OpenAI在其官方博客宣布&#xff0c;将开放ChatGPT和Whisper的模型API。 …

代码分享:面波数据快速成图

代码分享&#xff1a;面波数据快速成图 前言 目前&#xff0c;物探数据主要用surfer软件成图&#xff0c;surfer软件具有强大的插值和绘图功能&#xff0c;成图比较美观。但是&#xff0c;生产过程中大量的物探数据&#xff0c;依靠excel和surfer来成图耗费人力时间成本。本博…