楼上17行,100%的代码,我感觉跟我的思路差不多呀,但是我就超时了,谁能给我分析分析为啥速度差这么多? # encoding: utf-8 import sys res_dict = {} max_key = 0 def search(length, k):   global max_key   res_dict[0] = 1   if max_key >= length:     return res_dict[length]   else:     start = max_key   start = max(1, start)   for length_tmp in range(start, length + 1):     res_dict[length_tmp] = res_dict[length_tmp-1]     if length_tmp - k >= 0:       res_dict[length_tmp] += res_dict[length_tmp-k]     res_dict[length_tmp] %= (1e9+7)   max_key = length   return res_dict[length] line = [int(val) for val in sys.stdin.readline().strip().split(' ')] t = line[0] k = line[1] for group_idx in range(t):   line = [int(val) for val in sys.stdin.readline().strip().split(' ')]   a = line[0]   b = line[1]   if k == 0:     print 1     continue   count = 0   for length in range(a, b+1):     count += search(length, k)   print int(count % (1e9+7))
点赞 评论
牛客网
牛客企业服务