如何严谨地说明贪心是错误的?

P1880 [NOI1995] 石子合并

写对拍,让程序挑出反例,如果你拍了接近100种还没有反例,大概率就是对的
by dongrunxuan @ 2024-04-01 15:14:44


又想了一下,觉得下面这样的说法应该还可以(? 首先分析三堆石子 $X~Y~Z$ 有三种合并情况: $(X+Y)~~~~Z$ $X~~~~(Y+Z)$ $Y~~~~(Z+X)$ 所以最后最小得分为 $X+Y+Z+min\begin{cases}X+Y\\Y+Z\\Z+X\end{cases}$ 在这样的情况下看来,贪心是可行的 但是对于四堆石子 $A~B~C~D$ 有四种合并情况: $(A+B)~~~~C~~~~D$ $A~~~~(B+C)~~~~D$ $A~~~~B~~~~(C+D)$ $B~~~~C~~~~(D+A)$ 每一种合并情况都是三堆,每三堆又有三种合并情况 那么最终的最小得分应该为 $A+B+C+D+min\{All~nine~possible~combinations\}$ 若在一开始使用贪心将最小的相邻堆合并 则可能错过后面的九种合并情况中的最佳选择 所以贪心是错误的
by Nenood @ 2024-04-01 15:36:23


@[dongrunxuan](/user/959582) 你这也不严谨啊
by Ice_lift @ 2024-04-01 15:36:31


@[dongrunxuan](/user/959582) 正解
by Untitled0 @ 2024-04-01 16:26:27


举个例子,假如有四堆,我们设x,y,z,d,假设我们按顺序从左往右合并,我们会用到x四次,y两次,z两次,d一次,假如我们对半两两合并,那就是四个字母各两次,当2x<d时第一种方法优,反之第二种,这样子看跟贪心就毫无关系,只跟数字本身大小有关,任意合并方式都可能出现最小值
by wxc_1 @ 2024-04-10 23:56:19


因为题目中说只能选相邻的2堆合并成新的一堆;所以会存在合并当前最大/小的两项但后续无法与大/小项相接。(就是说每一步都最优无法保证结果最优)
by Silversnowflake @ 2024-04-27 15:42:39


如:1,100,1,101,2的最大值 每次都取最大值:101-2 100-1 101-103 1-204 正解:1-101 100-102 202-2 1-204
by Silversnowflake @ 2024-04-27 15:48:36


|