算法随笔

说明

一些能体现方法论的题和老年退役选手的思考

贪心

贪心一定要证明

尝试寻找子问题和原问题之间的关系

以样例1为例:
问题首先可以等效到把1 4 2 5 3,从左至右按顺序分给两个数组,每个数组的加权如图:

定义min_ans({1,4,2,5,3}) = 最小花费摆放
考虑把1摆放至数组1

那么由定义得:min_ans({1,4,2,5,3}) = 1 * 1 + min_ans({4,2,5,3}) + sum({4,2,5,3})
我们一定要寻找子问题和原问题之间的关系
考虑把1摆放至数组2

那么由定义得:min_ans({1,4,2,5,3}) = 1 * 5 + min_ans({4,2,5,3});

综上
min_ans({1,4,2,5,3}) = min_ans({4,2,5,3}) + min(1 * 5,sum({1,4,2,5,3}));

posted @ 2021-06-02 16:26  XDU18清欢  阅读(677)  评论(0)    收藏  举报