关键词:
P1103 书本整理
题目描述
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)
下面的n行,每行两个数字表示一本书的高度和宽度,均小于200。
保证高度不重复
输出格式:一行一个整数,表示书架的最小不整齐度。
输入输出样例
4 1 1 2 2 4 3 1 5 3
3
1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<cstring> 5 #include<algorithm> 6 using namespace std; 7 struct data{ 8 int w,h; 9 }book[120]; 10 bool cmp(const data&a,const data&b){ 11 return a.h<b.h; 12 } 13 int f[120][120]; 14 int n,k,ans; 15 int main(){ 16 scanf("%d%d",&n,&k); 17 for(int i=1;i<=n;i++) scanf("%d%d",&book[i].h,&book[i].w); 18 k=n-k; 19 sort(book+1,book+n+1,cmp); 20 for(int i=1;i<=n;i++) 21 for(int j=2;j<=min(i,k);j++){ 22 f[i][j]=0x3f3f3f3f; 23 for(int p=j-1;p<i;p++) f[i][j]=min(f[i][j],f[p][j-1]+abs(book[i].w-book[p].w)); 24 } 25 ans=0x3f3f3f3f; 26 for(int i=k;i<=n;i++) ans=min(ans,f[i][k]); 27 printf("%d",ans); 28 return 0; 29 }
洛谷——p1103书本整理
https://www.luogu.org/problem/show?pid=1103题目描述Frank是一个非常喜爱整洁的人。他有一大堆书和一个书架,想要把书放在书架上。书架可以放下所有的书,所以Frank首先将书按高度顺序排列在书架上。但是Frank发现,由于很多书的宽度... 查看详情
p1103书本整理
P1103书本整理题目描述Frank是一个非常喜爱整洁的人。他有一大堆书和一个书架,想要把书放在书架上。书架可以放下所有的书,所以Frank首先将书按高度顺序排列在书架上。但是Frank发现,由于很多书的宽度不同,所以书看起来... 查看详情
p1103书本整理(dp)
ReactHookHook是React16.8的新增特性,它可以让你在不使用class的情况下,使用state以及其他的React特性。React16.8.0是第一个支持Hook的版本。注意:Hook是完全可选的、100%向后兼容,Hook和现有代码可以同时工作。Hook不能在class组件中使... 查看详情
p1103书本整理
题目描述Frank是一个非常喜爱整洁的人。他有一大堆书和一个书架,想要把书放在书架上。书架可以放下所有的书,所以Frank首先将书按高度顺序排列在书架上。但是Frank发现,由于很多书的宽度不同,所以书看起来还是非常不整... 查看详情
p1103书本整理(代码片段)
题目描述Frank是一个非常喜爱整洁的人。他有一大堆书和一个书架,想要把书放在书架上。书架可以放下所有的书,所以Frank首先将书按高度顺序排列在书架上。但是Frank发现,由于很多书的宽度不同,所以书看起来还是非常不整... 查看详情
p1103书本整理(代码片段)
题意:给出n本书每本书有高度和宽度,题意让我们先讲高度排序(保证每一本书的高度不同,从大从小排对答案不影响) 相邻的书的宽度差的绝对值为贡献,让我们去掉其中k本书,求最小贡献思路:去掉书的想法很难... 查看详情
洛谷p1077摆花动态规划
洛谷P1077摆花DP 划分类动态规划 dp[i][j]表示 到第i种花,所有花总共取了j盆,总共的方案数 1#include<cstdio>2#include<cstring>3#include<cmath>4#include<cstdlib>5#include<string&g 查看详情
洛谷p1586四方定理动态规划+离线
洛谷P1586四方定理动态规划+离线1#include<bits/stdc++.h>2#defineFor(i,j,k)for(inti=j;i<=k;i++)3usingnamespacestd;45constintN=35011;6intn,T,ans;7intf[5][N],a[211];89inlineintread()10{11intx=0,f=1;12charch=g 查看详情
洛谷——动态规划
1.P1057传球游戏题目描述上体育课的时候,小蛮的老师经常带着同学们一起做游戏。这次,老师带着同学们一起做传球游戏。游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球... 查看详情
洛谷p1850换教室最短路+动态规划
洛谷P1850换教室最短路+动态规划题解首先预处理出任意两点的最短路然后dpf[i][j][0/1]现在是第i个时间段,已经申请过j次了,该次是否成功0否1成功的最小的期望主要是四个方面的转移前一个是否申请成功or失败当前是否申请成功o... 查看详情
洛谷p1133教主的花园动态规划
洛谷P1133教主的花园动态规划这里是环状的,但是我们并不用将他破环成链只要枚举第一个点根据第一个点选择最后一个选择什么就行了然后我们进行DP注意如果当前是2的话要分情况上一次是上升1还是下降0F1[i]表示第i位置的种... 查看详情
洛谷-摆花-动态规划
题目描述小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m盆。通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号。为了在门口展出更多种花,规定第i种花不能超过ai盆,摆花时同一种花放... 查看详情
洛谷p1052过河动态规划
洛谷P1052过河通过观察可以发现这个点很稀疏dp有很长一段距离都是没有用的,那么我们可以采用离散化的思想把这个距离压缩,但同时还要保证对答案没有影响如果s==t这时候我们需要特判只要判断pos[i]%s==0就可以知道是否踩到... 查看详情
洛谷p2904[usaco08mar]跨河rivercrossing动态规划
洛谷P2904[USACO08MAR]跨河RiverCrossing动态规划区间DPf[i]表示将i头牛运了过去,然后John又返回所需要的最少时间 1#include<cstdio>2#include<cstring>3#include<cmath>4#include<cstdlib>5#include<string>6#in 查看详情
洛谷p1941飞扬的小鸟动态规划
洛谷P1941飞扬的小鸟动态规划这道题主要要注意一下飞到m以上之后高度还是m这个就要在判断一下比较直接暴力的动归是O(N^3)f[i][j]到i,j这个位置所需要的最少点击次数如果不能到,就是无限大f[i][j]=min(f[i-1][j-up[i-1]]+1,f[i-1][j+down[i... 查看详情
洛谷p2858·动态规划[usaco06feb]奶牛零食treatsforthecows
题面题目描述FJhaspurchasedN(1<=N<=2000)yummytreatsforthecowswhogetmoneyforgivingvastamountsofmilk.FJsellsonetreatperdayandwantstomaximizethemoneyhereceivesoveragivenperiodtime.Thetreatsareinterestingf 查看详情
洛谷-教主的花园-动态规划
题目描述教主有着一个环形的花园,他想在花园周围均匀地种上n棵树,但是教主花园的土壤很特别,每个位置适合种的树都不一样,一些树可能会因为不适合这个位置的土壤而损失观赏价值。教主最喜欢3种树,这3种树的高度分... 查看详情
动态规划洛谷p1004方格取数
题目描述设有N*N的方格图(N<=9),我们将其中的某些方格中填入正整数,而其他的方格中则放人数字0。如下图所示(见样例):A000000000013006000000700000014000002100040000150000001400000000000000.B某人从图的左上角的A点出发,可以向下行走... 查看详情