满足条件的序列
小明想知道,满足以下条件的正整数序列的数量:
1. 第一项为 n;
2. 第二项不超过 n;
3. 从第三项开始,每一项小于前两项的差的绝对值。
请计算,对于给定的 n,有多少种满足条件的序列。
记忆化搜索
设置dp[i][j],其中 i 表示相对前一项,j 表示相对后一项,存储值表示该情况下满足条件的序列个数,由题意得
dp[i][j] = all(dp[j][0] + dp[j][1] + … + dp[j][dat-1]),其中 dat = | i - j |;
代码
#include<iostream>//by-dxy
#include<string.h>
using namespace std;
int dp[1005][1005];//i表示前一个,j表示后一个
int n;
const int mod = 10000;
int dfs(int i,int j)
{

本文介绍了蓝桥杯比赛中关于满足特定条件的正整数序列问题。序列需满足:第一项为n,第二项不超过n,从第三项开始每一项小于前两项差的绝对值。文章通过使用动态规划和记忆化搜索的方法,详细阐述了解决此问题的算法思路,并提供了相应的代码实现。
最低0.47元/天 解锁文章
1998

被折叠的 条评论
为什么被折叠?



