How to make the standard DP algorithm for 0/1 Knapsack make larger steps?
Your assumption is wrong; the dynamic programming algorithm does not do that. It computes $m(n,W)$ according to the recurrence

$\qquad\displaystyle
  m(i,w) = \begin{cases}
    0, &amp;i=0 \lor w=0; \\
    m(i-1,w), &amp; w_i &gt; w; \\
    \max \{ m(i-1,w), m(i-1, w - w_i) + v_i \}, &amp;w_i \leq w .
  \end{cases}
$

Here, $(w_1, v_1), \dots, (w_n, v_n)$ are the weight-value pairs and $W$ is the knapsack size. Note how $m(i,w)$ is the maximum value that can be achieved with items $1, \dots, i$ and up to weight $w$; prove that by induction.

You can note two things:


The algorithm does not "move towards" $W$ in a straight fashion; it investigates many "paths" from $0$ to $W$ in an interleaved fashion, optimizing locally.
When it makes a stept, it does not have to be by $1$; all steps correspond to a $w_i$.