E波動數列(dp)

2021-08-17 22:39:49 字數 813 閱讀 3333

由於這道題目的資料量比較大,採用dp處理的時候,還涉及到滾輪陣列。

關於滾輪陣列的講解:

題意分析:

#include

#include

#define maxn 1100

#define mod 100000007

using

namespace

std;

typedef

long

long ll;

ll n,s,a,b;

int dp[2][maxn*maxn];

int e=0;

int cnt=0;

int main()

}//根據推出來的公式,統計符合的數目

for(i=0; i<=n*(n-1)/2; i++)

cout

0;}

下面是用dfs水的**,tle,20分。

#include

#define maxn 110

typedef

long

long ll;

using

namespace

std;

int n,s,a,b;

ll ans=0,total;

void dfs(int cur,int sum,int len)

return ;

}dfs(cur+a,sum+cur+a,len+1);

dfs(cur-b,sum+cur-b,len+1);

}int main()

波動數列 DP 組合

觀察這個數列 1 3 0 2 1 1 2 這個數列中後一項總是比前一項增加2或者減少3,且每一項都為整數。棟棟對這種數列很好奇,他想知道長度為 n 和為 s 而且後一項總是比前一項增加 a 或者減少 b 的整數數列可能有多少種呢?輸入格式 共一行,包含四個整數 n,s,a,b,含義如前面所述。輸出格...

波動數列 數論推導,dp

題目鏈結 觀察這個數列 1 3 0 2 1 1 2 這個數列中後一項總是比前一項增加2或者減少3,且每一項都為整數。棟棟對這種數列很好奇,他想知道長度為 n 和為 s 而且後一項總是比前一項增加 a 或者減少 b 的整數數列可能有多少種呢?共一行,包含四個整數 n,s,a,b,含義如前面所述。共一行...

AcWing 1214 波動數列(推柿子 DP)

觀察這個數列 1 3 0 2 1 1 2 這個數列中後一項總是比前一項增加2或者減少3,且每一項都為整數。棟棟對這種數列很好奇,他想知道長度為 n 和為 s 而且後一項總是比前一項增加 a 或者減少 b 的整數數列可能有多少種呢?輸入格式 共一行,包含四個整數 n,s,a,b,含義如前面所述。輸出格...