Lucky Tickets URAL - 1036 dp+大数

Posted tcctw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lucky Tickets URAL - 1036 dp+大数相关的知识,希望对你有一定的参考价值。

  用b[i][j]表示递推到第i位时数字和为j的方案数,那么总方案数就是b[n][s/2]的平方

  

 1 n, s = input().split( )
 2 
 3 n = int(n)
 4 s = int(s)
 5 
 6 if s % 2 == 1:
 7     print(0)
 8 else:
 9     s = int(s // 2)
10     b = [[]]
11     a = []
12     for i in range(0, 10):
13         a.append(1)
14     for i in range(10, s + 1):
15         a.append(0)
16     b.append(a)
17     for i in range(2, n + 1):
18         a = [0]  # 添加一个数用于占位
19         for j in range(0, s + 1):
20             a.append(0)
21             for m in range(0, 10):
22                 if m <= j:
23                     a[j] += b[i - 1][j - m]
24         b.append(a)
25     print(b[n][s] ** 2)

 

以上是关于Lucky Tickets URAL - 1036 dp+大数的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces 1096G. Lucky Tickets生成函数

Codeforces1096G Lucky Tickets(NTT优化dp)

Gym 100418J Lucky tickets(数位dp)

lucky 的 时光助理

.Lucky后缀勒索病毒数据解密

Tickets