P1103 书本整理
2018-06-17 22:16:09来源:未知 阅读 ()
题目描述
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
我们用逆向思维考虑。
用dp[i][j]表示前i本书,留下j本的最小值
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 #include<queue> 6 #include<algorithm> 7 using namespace std; 8 const int MAXN=301; 9 void read(int &n) 10 { 11 char c='+';int x=0;bool flag=0; 12 while(c<'0'||c>'9'){c=getchar();if(c=='-')flag=1;} 13 while(c>='0'&&c<='9'){x=x*10+c-48;c=getchar();} 14 flag==1?n=-x:n=x; 15 } 16 int n,k; 17 struct node 18 { 19 int gao,kuan; 20 }book[MAXN]; 21 int comp(const node &a,const node &b) 22 { 23 return a.gao<b.gao; 24 } 25 int dp[MAXN][MAXN]; 26 int presum[MAXN]; 27 int main() 28 { 29 read(n);read(k); 30 k=n-k; 31 for(int i=1;i<=n;i++) 32 { 33 read(book[i].gao); 34 read(book[i].kuan); 35 } 36 sort(book+1,book+n+1,comp); 37 for(int i=2;i<=n;i++) 38 for(int j=2;j<=min(k,i);j++) 39 { 40 dp[i][j]=0x7fffff; 41 for(int k=j-1;k<i;k++) 42 dp[i][j]=min(dp[i][j],dp[k][j-1]+abs(book[i].kuan-book[k].kuan)); 43 } 44 int ans=0x7fffff; 45 for(int i=k;i<=n;i++) 46 ans=min(ans,dp[i][k]); 47 printf("%d",ans); 48 return 0; 49 }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:【洛谷P1381】单词背诵
下一篇:P3396 哈希冲突
- 板子整理 2019-12-16
- 收集整理的一些c++书籍(推荐) 2019-04-28
- STL用法整理 2019-04-11
- 『嗨威说』常见的C++函数模板整理(一) 2019-02-27
- 剑指Offer整理笔记 2019-01-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash