JZOJ 5195. 【NOIP2017提高组模拟7.3】A
生活随笔
收集整理的這篇文章主要介紹了
JZOJ 5195. 【NOIP2017提高组模拟7.3】A
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Description
Input
Output
Sample Input
7 3
Sample Output
4
Data Constraint
Solution
這是一道經典的DP問題了,也可以把問題轉化成正整數拆分。
容易設出 F[i][j] ,表示處理到第 i 個彈珠、第 j 個盒子的方案數。
那么初始值就是: F[i][1]?=?F[i][i]?=?1
(即:將 i 個彈珠放入 1 個或 i 個盒子里的方案數都是 1)
顯然轉移方程式就是:
F[i][j]?=?F[i?1][j?1]?+?F[i?j][j]
-(即:第 j 個盒子放彈珠 和 每個盒子都加上一個彈珠)
- 那么這樣的時間復雜度就是 O(N?K) 。
Code
#include<cstdio> using namespace std; const int N=5001,mo=998244353; int n,k; int f[N][N]; int main() {scanf("%d%d",&n,&k);for(int i=1;i<=n;i++){f[i][i]=f[i][1]=1;for(int j=2;j<=i;j++)f[i][j]=(f[i-1][j-1]+f[i-j][j])%mo;}printf("%d",f[n][k]);return 0; } 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的JZOJ 5195. 【NOIP2017提高组模拟7.3】A的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JZOJ 5186. 【NOIP2017
- 下一篇: JZOJ 5197. 【NOIP2017