【发布时间】:2018-02-15 17:30:46
【问题描述】:
我需要找到区间[a,b]中的所有数字,满足两个条件:
- 能被 k 整除
- 数字之和应在区间[c,d]内
- 1 ≤ k ≤ 10^11; (1 ≤ a, b
(1 ≤ k ≤ 10^11) (1 ≤ a, b
幼稚的实现(即使有改进)太慢了。 有人可以帮助“动态”实现它吗? 或者也许一些有用的建议和链接? 我将不胜感激。
【问题讨论】:
-
是什么让您觉得动态规划是一种可行的方法?
-
请限制 a、b、c、d。
-
动态编程 (DP) 基于不重复部分结果的计算——子计算。这个问题没有任何明显复杂性的重复计算。此外,这个问题本质上是线性的,所以我不清楚你认为 DP 在哪里可以加快解决方案。发布您当前(缓慢)的解决方案?
-
@Rishav ~ (1 ≤ k ≤ 10^11) (1 ≤ a, b
-
b ≤ 99) 应该是 d
标签: algorithm data-structures dynamic-programming