关注
用 Python 写了个代码,对 DP 有少量修改:
初值: dp[m][m] = 1 for m in
1,10,20,30,50,100
状态: dp[m][k] = \sum_{i <=
m} dp[i][k-m] for k in 1:n if k > m
结果: N = sum_m dp[m][n]
代码:
from sys import stdin
N = int(stdin.readline())
C = [1, 10, 20, 30, 50, 100]
C.sort()
dp = dict([(c,[0]*(N+1)) for c in C])
for k in xrange(1,N+1):
for c in C:
if k == c:
dp[c][c] = 1
elif k > c:
dp[c][k] = sum([dp[i][k-c] for i in C if i <= c])
CS = sum([dp[c][N] for c in C])
print CS
查看原帖
点赞 1
相关推荐
牛客热帖
更多
正在热议
更多
# 我的实习收获 #
29932次浏览 497人参与
# 如果有时光机,你最想去到哪个年纪? #
47061次浏览 800人参与
# 实习吐槽大会 #
31521次浏览 153人参与
# 非技术岗简历怎么写 #
209695次浏览 2860人参与
# 晒一晒你的工位 #
85649次浏览 304人参与
# 26届秋招投递记录 #
3649次浏览 102人参与
# 2025牛客秋招季 #
3959次浏览 122人参与
# 双非能在秋招上岸吗? #
215150次浏览 1142人参与
# 被AI治愈的瞬间 #
52294次浏览 597人参与
# 怎么防止在试用期被辞退 #
122301次浏览 911人参与
# 我的租房踩坑经历 #
27112次浏览 279人参与
# 穿越回高考你还会选现在的专业吗 #
21463次浏览 266人参与
# 我和mentor的爱恨情仇 #
43459次浏览 277人参与
# 打工人的工作餐日常 #
40422次浏览 343人参与
# 软开人,说说你的烦心事 #
48061次浏览 359人参与
# 毕业旅行去哪玩儿 #
1223次浏览 33人参与
# 硬件/芯片公司工作体验 #
75178次浏览 664人参与
# 商战,最累的是我们 #
13027次浏览 52人参与
# 打工人锐评公司红黑榜 #
145908次浏览 919人参与
# 25届秋招公司红黑榜 #
262149次浏览 1094人参与