動態規劃 洛谷P1103 書本整理

2022-05-28 02:57:12 字數 1056 閱讀 1181

frank是乙個非常喜愛整潔的人。他有一大堆書和乙個書架,想要把書放在書架上。書架可以放下所有的書,所以frank首先將書按高度順序排列在書架上。但是frank發現,由於很多書的寬度不同,所以書看起來還是非常不整齊。於是他決定從中拿掉k本書,使得書架可以看起來整齊一點。

書架的不整齊度是這樣定義的:每兩本書寬度的差的絕對值的和。例如有4本書:

1x2 5x3 2x4 3x1 那麼frank將其排列整齊後是:

1x2 2x4 3x1 5x3 不整齊度就是2+3+2=7

已知每本書的高度都不一樣,請你求出去掉k本書後的最小的不整齊度。

輸入格式:

第一行兩個數字n和k,代表書有幾本,從中去掉幾本。(1<=n<=100, 1<=k下面的n行,每行兩個數字表示一本書的高度和寬度,均小於200。

保證高度不重複

輸出格式:

一行乙個整數,表示書架的最小不整齊度。

輸入樣例#1:

4 1

1 22 4

3 15 3

輸出樣例#1:

3

1 #include2 #include3 #include4 #include5 #include6

using

namespace

std;

7struct

databook[120

];10

bool cmp(const data&a,const data&b)

13int f[120][120

];14

intn,k,ans;

15int

main()

25 ans=0x3f3f3f3f;26

for(int i=k;i<=n;i++) ans=min(ans,f[i][k]);

27 printf("%d"

,ans);

28return0;

29 }

洛谷P1103 書本整理

frank是乙個非常喜愛整潔的人。他有一大堆書和乙個書架,想要把書放在書架上。書架可以放下所有的書,所以frank首先將書按高度順序排列在書架上。但是frank發現,由於很多書的寬度不同,所以書看起來還是非常不整齊。於是他決定從中拿掉k本書,使得書架可以看起來整齊一點。書架的不整齊度是這樣定義的 每...

P1103 書本整理(洛谷)

frank是乙個非常喜愛整潔的人。他有一大堆書和乙個書架,想要把書放在書架上。書架可以放下所有的書,所以frank首先將書按高度順序排列在書架上。但是frank發現,由於很多書的寬度不同,所以書看起來還是非常不整齊。於是他決定從中拿掉k本書,使得書架可以看起來整齊一點。書架的不整齊度是這樣定義的 每...

洛谷 P1103 書本整理(動規)

洛谷 p1103 書本整理 frank是乙個非常喜愛整潔的人。他有一大堆書和乙個書架,想要把書放在書架上。書架可以放下所有的書,所以frank首先將書按高度順序排列在書架上。但是frank發現,由於很多書的寬度不同,所以書看起來還是非常不整齊。於是他決定從中拿掉k本書,使得書架可以看起來整齊一點。書...