传送门 因为一个木板可以切掉最多\(m\),所以可以先预处理哪些长度的木板可用,开个桶,然后对\([l-m,l]\)打标记,再把打了标记的数取出来 假设可用长度\(a_1,a_2,,,a_n\)从小到大排好了序,我们可以先不用\(a_1\),只用后面的长度拼,然后用\(a_1\)凑,所以设\(di_i\)为能用后面的凑出的并且\(mod\ a_1\)为\(i\)的最短长度(\(di_0=0\)),然后可以把\(a_2,,,a_n\)当做从位置\(i\)连向\((i+a_j)mod\ a_1\),…