UPCOJ-8018-hongkong
时间限制: 1 Sec 内存限制: 128 MB
题目描述
1 |
|
输入
1 |
|
输出
1 |
|
样例输入
1 |
|
样例输出
1 |
|
提示
1 |
|
来源/分类
题解
假设题目中的a数组的第0行的值分别是a,b,c,d,e…
写一写a数组的递推过程:
列\行 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
0 | a | b | c | d | e |
1 | a | a+b | a+b+c | a+b+c+d | a+b+c+d+e |
2 | a | 2a+b | 3a+2b+c | 4a+3b+2c+d | 5a+4b+3c+2d+e |
3 | a | 3a+b | 6a+3b+c | 10a+6b+3c+d | 15a+10b+6c+3d+e |
观察它们的系数的变化,可以发现系数都来源于一个前缀和数组: |
列\行 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
0 | 1 | 0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 | 1 | 1 |
2 | 1 | 2 | 3 | 4 | 5 |
3 | 1 | 3 | 6 | 10 | 15 |
令这个数组为b,其递推求法为: |
1 |
|
这时我们很容易就能求出a[k][x]
: a[k][x] = sum ( a[0][j]*b[k][x-j+1] ) , (1<=j<=x)
代码
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!