藍橋杯歷屆試題 波動數列

2021-10-01 05:06:07 字數 730 閱讀 9548

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f

typedef long long ll;

using namespace std;

const int mod=100000007;

/*p=(a,-b),p為操作加a或減b

.設首項為x,可以得到乙個等式x+(x+p)+(x+2p)+...+(x+(n-1)p)=s,

將這個式子整理一下,就是nx+p+2p+...+(n-1)p=s,

即(s-(p+2p+...+(n-1)p))/n=x

s%n-(p+2p+...+(n-1)p)%n=0;

*/ll n,s,a,b;

ll dp[1010][1010],suma,sumb;

//dp[i][j]表示序列前ki的和取模後的值為j的方案數

//令 s%n=k1 ,p%n=k2, 2p%n=k3,...(n-1)p%n=kn

//那麼 k1+k2+k3...+kn=0;

int main()

}cout

}

藍橋杯 試題 歷屆試題 波動數列 DP解決

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

歷屆試題 波動數列

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

波動數列 藍橋杯

這是2014年第五屆藍橋杯全國軟體大賽預賽本科a組 c c 組 第10題,也就是最後一題。思路可以想得到,列舉和廣度優先搜尋,由於最後時間緊迫,簡單的計數還沒完成,謹以此文祭奠逝去的藍橋杯。剛看這題,似乎摸不著頭腦,細細欣賞,似乎還可以實現。由於資料量可能很大,這裡使用了long long型別。輸入...