当前位置: 首页 > news >正文

GESP202412 四级【Recamán】题解(AC)

在这里插入图片描述
》》》点我查看「视频」详解》》》

[GESP202412 四级] Recamán

题目描述

小杨最近发现了有趣的 Recamán 数列,这个数列是这样生成的:

  • 数列的第一项 a 1 a_1 a1 1 1 1
  • 如果 a k − 1 − k a_{k-1}-k ak1k 是正整数并且没有在数列中出现过,那么数列的第 k k k a k a_k ak a k − 1 − k a_{k-1}-k ak1k,否则为 a k − 1 + k a_{k-1}+k ak1+k

小杨想知道 Recamán 数列的前 n n n 项从小到大排序后的结果。手动计算非常困难,小杨希望你能帮他解决这个问题。

输入格式

第一行,一个正整数 n n n

输出格式

一行, n n n 个空格分隔的整数,表示 Recamán 数列的前 n n n 项从小到大排序后的结果。

样例 #1

样例输入 #1

5

样例输出 #1

1 2 3 6 7

样例 #2

样例输入 #2

8

样例输出 #2

1 2 3 6 7 12 13 20

提示

样例解释

对于样例 1, n = 5 n=5 n=5

  • a 1 = 1 a_1=1 a1=1
  • a 1 − 2 = − 1 a_1-2=-1 a12=1,不是正整数,因此 a 2 = a 1 + 2 = 3 a_2=a_1+2=3 a2=a1+2=3
  • a 2 − 3 = 0 a_2-3=0 a23=0,不是正整数,因此 a 3 = a 2 + 3 = 6 a_3=a_2+3=6 a3=a2+3=6
  • a 3 − 4 = 2 a_3-4=2 a34=2,是正整数,且没有在数列中出现过,因此 a 4 = a 3 − 4 = 2 a_4=a_3-4=2 a4=a34=2
  • a 4 − 5 = − 3 a_4-5=-3 a45=3,不是正整数,因此 a 5 = a 4 + 5 = 7 a_5=a_4+5=7 a5=a4+5=7

a 1 , a 2 , a 3 , a 4 , a 5 a_1,a_2,a_3,a_4,a_5 a1,a2,a3,a4,a5 从小到大排序的结果为 1 , 2 , 3 , 6 , 7 1,2,3,6,7 1,2,3,6,7

数据范围

对于所有数据点,保证 1 ≤ n ≤ 3 000 1\le n\le 3\, 000 1n3000

AC_Code

#include <bits/stdc++.h>
using namespace std;
const int N = 3010;
int w[N];int main()
{int n;cin >> n;w[1] = 1;set<int> s;s.insert(1);for(int i = 2; i <= n; i ++){int x = w[i - 1] - i;if(x > 0 && s.find(x) == s.end()) w[i] = x;else w[i] = w[i - 1] + i;s.insert(w[i]);}sort(w + 1, w + n + 1);for(int i = 1; i <= n; i ++)cout << w[i] << " ";return 0;
}

》》》点我查看「视频」详解》》》

http://www.lryc.cn/news/502933.html

相关文章:

  • 蓝桥杯新年题解 | 第15届蓝桥杯迎新篇
  • 3D 生成重建035-DiffRF直接生成nerf
  • @SpringBootTest 报错: UnsatisfiedDependencyException
  • mysql、postgresql、oceanbase调优
  • MySQL 数据库事务实践
  • VScode、Windsurf、Cursor 中 R 语言相关快捷键设置
  • tcpdump编译
  • Linux下禁止root远程登录访问
  • 算法刷题Day16: BM41 输出二叉树的右视图
  • 登录授权的实现:json web token + redis + springboot
  • yolov,coco,voc标记的睡岗检测数据集,可识别在桌子上趴着睡,埋头睡觉,座椅上靠着睡,平躺着睡等多种睡姿的检测,6549张图片
  • 数据库表的CRUD
  • Proxy与Reflect
  • 【安卓开发】【Android Studio】启动时报错“Unable to access Android SDK add-on list”
  • 【C语言篇】C 语言总复习(下):点亮编程思维,穿越代码的浩瀚星河
  • AI技术架构:从基础设施到应用
  • centos7的yum镜像源设置
  • Qt6开发自签名证书的https代理服务器
  • HarmonyOS:多线程并发-Worker
  • 小程序IOS安全区域优化:safe-area-inset-bottom
  • C++ 中多态性在实际项目中的应用场景
  • prettier配置
  • 【基于OpenEuler国产操作系统大数据实验环境搭建】
  • 期末软件经济学
  • 滑动窗口算法专题
  • 基于Java的世界时区自动计算及时间生成方法
  • Excel + Notepad + CMD 命令行批量修改文件名
  • OpenGL 几何着色器高级应用
  • 【Unity基础】Unity 2D实现拖拽功能的10种方法
  • duxapp中兼容多端的 BoxShadow 阴影组件