原来长度
l
e
n
len
len,
m
a
x
(
a
[
i
]
)
<
=
l
e
n
<
=
s
u
m
(
a
[
i
]
)
,
(
s
u
m
max(a[i])<=len<=sum(a[i]),(sum
max(a[i])<=len<=sum(a[i]),(sum%
l
e
n
=
=
0
)
len==0)
len==0)
如果当前选了
a
[
i
]
,
a[i],
a[i],结果回溯回来了,那么后面的和相同的可以直接跳过,可以用一个
f
[
i
]
数
组
,
表
示
与
a
[
i
]
相
同
的
最
后
的
位
置
在
哪
f[i]数组,表示与a[i]相同的最后的位置在哪
f[i]数组,表示与a[i]相同的最后的位置在哪
每次选的时候先选最长的,如果拼成了
k
−
1
段
,
则
最
后
剩
下
的
第
k
段
能
拼
好
k-1段,则最后剩下的第k段能拼好
k−1段,则最后剩下的第k段能拼好