专栏文章
题解:P1028 [NOIP 2001 普及组] 数的计算
P1028题解参与者 14已保存评论 16
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 15 条
- 当前快照
- 1 份
- 快照标识符
- @miq4xceo
- 此快照首次捕获于
- 2025/12/03 23:01 3 个月前
- 此快照最后确认于
- 2025/12/03 23:01 3 个月前
一道水题,本蒟蒻来交一篇递推的题解。
我们可以设 为以 为第一个数时所能构造的合法数列的数量,最后的 就是答案总数。
那么怎么求 呢?我们只需让
就可以一步一步推导出来啦!
AC Code:
CPP#include <iostream>
using namespace std;
int n, cnt[299999];
int main(){
cin >> n;
for(int i = 1; i <= n; i++){
for(int j = 1; j <= i / 2; j++) cnt[i] += cnt[j]; //累加cnt[1]~cnt[i / 2]
cnt[i]++; //不要忘了加上自己
}
cout << cnt[n] << ' ';
return 0;
}
蒟蒻的第一篇题解,望管理员大大通过qwq。
相关推荐
评论
共 16 条评论,欢迎与作者交流。
正在加载评论...