这篇题解可以看看,写的很好
我的思路是这样的,首先每个人分到的数量为\(\frac{n}{m}\),我们将其化为既约分数\(\frac{p}{q}\),如果\(p>q\),则我们可以先把能分的苹果全分了,所以可以让\(p\)对\(q\)取模,然后接下来只能用\(\frac{1}{2^i}\)去凑,也就是有
\[\frac{p}{q}=\frac{1}{2^{i_1}}+\frac{1}{2^{i_2}}+...+\frac{1}{2^{i_k}} \]
通分之后有
\[\frac{p}{q}=\frac{\sum2^i}{2^l} \]
注意等号右边的分母的质因数全部都是\(2\),所以约分之后仍然是\(2\)的次幂,也就是\(q\),所以\(q\)必须是\(2\)的整数次幂才有解
然后贪心一下,发现一个人不可能有两个相同重量的苹果,否则这两个相同重量的苹果就可以合并成一个更大的苹果从而省下一刀,所以我们对\(p\)进行二进制分解,就可以获得每个人最终的苹果重量的组成。
拿最后一个样例举例,每个人获得的苹果就是\(0.5+0.25\)
然后我们考虑每个重量的苹果是怎么来的,比如对于\(0.25\),一定是从某个\(0.5\)切了一刀来的;对\(0.5\)来说同理;然后我们考虑整体,我们一共需要三个\(0.5\)和\(0.25\),而对于三个\(0.25\),我们一定需要两个\(0.5\)来切两刀,也就是我们一共需要五个\(0.5\),这五个\(0.5\)要从\(1\)切三刀,算上之前的两刀,一共是五刀,也就是答案