2017.10.25 书柜的尺寸 失败总结
来源:互联网 发布:php电商系统 编辑:程序博客网 时间:2024/06/09 17:29
这题只能想到第一步。。
首先题目要求的是最小化两个变量的关系,那就必须转化成一个变量的关系,化动为静
比如:枚举限制因素,枚举所有值,再或者就是贪心
一开始想到枚举限制因素,即枚举三个集合中高度最大的数,但剩下的是分配问题,不太好dp TLE
然后就是贪心排序,,然后每个物品一定被选在一个背包里,这样先进入的一定是最大的,
然后直接在每个对应厚度中取当前高度答案最小的。。感觉是生造的dp
码:
#include<iostream>#include<cstdio>#include<algorithm>using namespace std;int k,f[2][2200][2200],i,j,n,m,now,sum[90];long long ans=100000000000009;struct la{int x,y;}a[99];bool cmp(la a,la b){return a.x>b.x;}int main(){scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d%d",&a[i].x,&a[i].y);}sort(a+1,a+1+n,cmp);for(i=1;i<=n;i++)sum[i]=sum[i-1]+a[i].y;for(i=1;i<=n;i++,now^=1){//cout<<endl<<i<<" "<<a[i].x<<" "<<a[i].y<<endl;for(k=0;k<=sum[n];k++)for(j=0;j<=sum[n];j++){f[now][k][j]=1000000009;//if(f[now^1][j][k]<1000000009&&f[now^1][j][k]!=0)//cout<<j<<" "<<k<<" "<<f[now^1][j][k]<<endl; }for(j=0;j<=sum[i-1];j++)for(k=0;k<=sum[i-1];k++) {f[now][j+a[i].y][k]=min(f[now][j+a[i].y][k],f[now^1][j][k]+(j==0)*a[i].x);f[now][j][k+a[i].y]=min(f[now][j][k+a[i].y],f[now^1][j][k]+(k==0)*a[i].x); f[now][j][k]=min(f[now][j][k],f[now^1][j][k]+(j+k==sum[i-1])*a[i].x); }}for(i=1;i<sum[n];i++)for(j=1;j<sum[n];j++){if(sum[n]-i-j>0)ans=min(1ll*f[now^1][i][j]*1ll*(max(sum[n]-i-j,max(i,j))),ans);}printf("%lld",ans);}
阅读全文
0 0
- 2017.10.25 书柜的尺寸 失败总结
- BZOJ 1933 [Shoi2007] Bookcase 书柜的尺寸
- bzoj1933: [Shoi2007]Bookcase 书柜的尺寸
- bzoj 1933: [Shoi2007]Bookcase 书柜的尺寸
- BZOJ 1933 [Shoi2007]Bookcase 书柜的尺寸 动态规划
- [BZOJ]1933: [Shoi2007]Bookcase 书柜的尺寸 DP
- 我的书柜
- 我的书柜
- 书柜:《世界是平的》
- 每个程序员书柜必备的编程书籍
- 2017.10.7 phi的反函数 失败总结
- 2017.10.22 最多的方案 失败总结
- 2017.10.27 sue的小球 失败总结
- 竞赛失败的总结
- 总结失败的一天
- 个人的失败总结
- 总结蓝桥杯的失败
- APP-ICONS尺寸大小的总结--图示
- 在MySQL命令行窗口执行sql脚本,批量执行SQL语句,批量更新数据
- 普元EOS之我要使用多数据源
- mqtt入门
- 阿里云推送
- python打开文件报错OSError: [Errno 22] Invalid argument:
- 2017.10.25 书柜的尺寸 失败总结
- js 遇到的一些属性及方法
- Mysql事务以及四种隔离级别实例
- Tomcat优化
- daemontools memcache
- JQuery基础行为
- 控制台添加版本信息
- CDH5.8HBase安装Phoenix
- TCP/IP协议三次握手与四次握手流程解析