2017.10.25 书柜的尺寸 失败总结
这题只能想到第一步。。
首先题目要求的是最小化两个变量的关系,那就必须转化成一个变量的关系,化动为静
比如:枚举限制因素,枚举所有值,再或者就是贪心
一开始想到枚举限制因素,即枚举三个集合中高度最大的数,但剩下的是分配问题,不太好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);
}
2017.10.25 书柜的尺寸 失败总结相关推荐
- 2017.10.25水题大作战题解
rank: T1P1615 西游记公司 https://www.luogu.org/problemnew/show/P1615 scanf直接秒 1 #include<iostream> ...
- 2017.10.25
日期计算 时间限制:3000 ms | 内存限制:65535 KB 难度:1 描述 如题,输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天. 输入 第一行输入一个数N(0 ...
- 2017.10.9 找相同字符 失败总结
一上来先想到hash和dp.. 其实散的连续子串匹配问题后缀相关都是可以解决的 对于SA,,就只需两个串之间加#,然后扔到SA里,单调栈维护lcp贡献就可以了,,但似乎并不好写,SA的大循环容易残 于 ...
- 2017.10.25笔记3
1.语法 <form method="get|post" action="数据向哪提交的地址"> //表单内容 </form&g ...
- 2017.10.28 管道取珠 失败总结
这个题有一个新套路: ∑ai^2 要知道一般的计数题是∑ai,,所以这多乘了一个自己有什么意义呢? 于是想到,两两枚举,加起来正好是ai^2:: 所以就有一个想法,枚举两种取法, 然后就是插数dp, ...
- 2017.10.27 sue的小球 失败总结
这个题是论文题...说这个题之前先说一下关路灯 这两个题都有时间的限制,但都不能作为状态设计进去 关路灯那个题,由于要忽略时间的限制,所以对于一个区间省得最多,是不是就是最优解了呢 首先,就算你知道这 ...
- 2017.10.25 打鼹鼠 思考记录
挺直白的dp 离散的是移动的过程,因为经过一番移动一定是为了出现在某个地点 所以直接m^2枚举,类似lis的转移即可 码: #include<iostream> #include<c ...
- 2017.10.24 学校食堂Dining 失败总结
这题目描述不清啊.省选应该有人解释吧, 对着理解错的题调了一上午... 注意 如果一个人b==5 那这个人后面6个以后的都不能在这个人以前选 这个题就是怎么处理7的问题,状压枚举,同时满足条件的选人 ...
- 2017.10.23 卡牌游戏 失败总结
dp好难啊.. 这个题主要是离散点找不准,但其实也就这样 1.尝试状态压缩,状态爆炸 2.状态里面1很多,尝试统计1的个数 3.枚举起点 但这样做还是没法做,因为没有终点 所以就再枚举一层终点.. 就 ...
最新文章
- 科大星云诗社动态20210514
- LINUX挂接移动硬盘
- Spring与Struts2整合的两种解决方案
- 在即将发布的Camel 2.21版本中改进了使用Apache Camel和ActiveMQ Artemis处理大型消息的功能...
- 《PHP和MySQL Web开发从新手到高手(第5版)》一2章 MySQL简介2.1 数据库简介
- 华为P50真机谍照曝光:璀璨粉色机身 牢牢锁定女性用户
- 华南师范大学:迈向智慧校园的“极简”之路
- 标题栏透明android,android改变标题栏的透明度
- SQL 两张结构一样的表合并查询
- 【前端基础】浏览器对象
- MATLAB中使用XLSREAD无法找到文件的一种解决方法
- 接口测试通用测试用例
- 善领dsa2020最新车机ce版_小米MIX 3 5G版成为首款获欧盟5G认证的骁龙855手机
- 什么是3322域名?3322域名如何注册?
- 数据库语言,转载自:红黑联盟
- oracle IMO史上最详细使用文档
- 暑期2020“大咖说开源” | 陈莉君:Linux从入门到深入内核有多远
- 将代码提交到github上
- Axure RP-产品原型设计工具使用
- stm32cube 和 RTX v5一起用的方法
热门文章
- 《JavaScript高级程序设计》红宝书第二遍阅读(动手实践)
- opengl学习笔记 (一)
- Android笔记 简单demo Spinner AutoCompleteTextView Menu
- 捋一捋20201217
- 你敢花一天时间看完本文在简历上添一笔“熟练使用C++编程”吗?
- Win10下安装LabelImg以及使用(绝对是全网最简单的教程)
- 重装jdk后运行java程序出现Error: could not open `C:\Program Files\Java\jre68\lib\amd64\jvm.cfg'的解决办法
- 存储:Cookie/localStorage
- python 字节码 优化_字节码优化
- python opencv pdf脚本之家_OpenCV 3和Qt5计算机视觉应用开发 PDF 影印含源码版