hihocoder1365 图片排版
思路:
模拟,枚举,dp。
参考了https://github.com/buptlxb/hihoCoder/blob/master/solutions/1365/picture_arrange.cpp
实现:
#include <bits/stdc++.h>
using namespace std; int w[], h[], dp[], m, n; void arrange(int w, int h, int& rw, int& rh)
{
if (rw >= w) { rw -= w; rh = max(rh, h); }
else { rh = max(rh, (rw * h + w - ) / w); rw = ; }
} int solve()
{
for (int i = n - ; i >= ; i--)
{
int rw = m, maxh = ;
int j = i;
for ( ; j < n && rw; j++)
arrange(w[j], h[j], rw, maxh);
dp[i] = dp[j] + maxh;
}
int minn = dp[], th = , rw = m, rh = ;
for (int i = ; i < n; i++)
{
arrange(w[i], h[i], rw, rh);
if (!rw) { th += rh; rw = m; rh = ; }
int j = i + , tmpw = rw, tmph = rh;
for ( ; j < n && tmpw; j++)
{
arrange(w[j], h[j], tmpw, tmph);
}
minn = min(minn, th + tmph + (j < n ? dp[j] : ));
}
return minn;
} int main()
{
cin >> m >> n;
for (int i = ; i < n; i++)
{
cin >> w[i] >> h[i];
}
cout << solve() << endl;
return ;
}
hihocoder1365 图片排版的更多相关文章
- LaTex:图片排版
一般支持三种格式的图片排版 %% if you use PostScript figures in your article %% use the graphics package for simpl ...
- LaTeX的图片插入及排版
LaTeX中一般只直接支持插入eps(Encapsulated PostScript)格式的图形文件, 因此在图片插入latex文档之前应先设法得到图片的eps格式的文件. UNIX下的各种应用软件都 ...
- C#合并文件夹图片列表 自定义排版顺序
本次程序编写主要为了将pdf word等文档转换为图片后设置不同的打印排版 前提 目标文件夹中的图片高宽都是一致的 /// <summary> /// 合并图片 /// </summ ...
- LaTeX的图片插入及排版[转]
LaTeX中一般只直接支持插入eps(Encapsulated PostScript)格式的图形文件, 因此在图片插入latex文档之前应先设法得到图片的eps格式的文件. UNIX下的各种应用软件都 ...
- JS解决通过按钮切换图片的问题
我是JS初学者,本想通过JS解决轮播图的特效,上网看了下:大部分都是JQ解决的,对于初学者的我来说理解上有点困难.于是我自己只做了一个不那么高大上的JS轮播图,下面我简单介绍下我的步骤:在HTML中创 ...
- latex 插图排版
LaTeX的图片插入及排版 LaTeX中一般只直接支持插入eps(Encapsulated PostScript)格式的图形文件, 因此在图片插入latex文档之前应先设法得到图片的eps格式的文 ...
- 微信小程序--图片相关问题合辑
图片上传相关文章 微信小程序多张图片上传功能 微信小程序开发(二)图片上传 微信小程序上传一或多张图片 微信小程序实现选择图片九宫格带预览 ETL:微信小程序之图片上传 微信小程序wx.preview ...
- 【转载】如何让图片按比例响应式缩放、并自动裁剪的css技巧
原文: http://blog.csdn.net/oulihong123/article/details/54601030 响应式网站.移动端页面在DIV CSS布局中对于图片列表或图片排版时, 如果 ...
- ipad&mobile通用webapp框架前哨战
响应式设计的意义 随着移动设备的发展,移动设备以迅猛的势头分刮着PC的占有率,ipad或者android pad的市场占有率稳步提升,所以我们的程序需要在ipad上很好的运行,对于公司来说有以下负担: ...
随机推荐
- Linux系统备份还原工具3(使用Clonezilla/再生龙对硬盘进行镜像和克隆,类似于Ghost)
说明:经过实验验证,再生龙主要是适合在本机还原原大小的分区,不适合将镜像备份还原到不同大小分区,期间可能有很多莫名奇妙的问题出现.硬盘对拷和PXE网刻这些没发现什么不好.如果要还原到别的电脑镜像制作时 ...
- Ubuntu 16.04安装***-qt5
上一篇文章http://www.cnblogs.com/EasonJim/p/7133097.html中,第5步安装本地代理源服务器使用的是electron-ssr,发觉这个东西难配且难用,非常不建议 ...
- 我的arcgis培训照片7
来自:http://www.cioiot.com/successview-553-1.html
- 【转】c++中placement new操作符
new:指我们在C++里通常用到的运算符,比如A* a = new A; 对于new来说,有new和::new之分,前者位于std operator new():指对new的重载形式,它是一个函数, ...
- windows 7 忘記密碼,用“带命令行的安全模式”
net user administrator /active:yes net user tester /add net localgroup administrators tester /add
- php 获取今天,本周,本月,三个月内,半年内,今年的开始和结束时间
$now = time(); //今天 $today_audit_num = 0; $today_use_num = 0; $beginTim ...
- [DevExpress]GridControl分页的实现
加入两个组件:BindingNavigator和BindingSource 代码: using System; using System.Collections.Generic; using Syst ...
- mysql对表列数和行大小的限制
mysql对表列数和行大小的限制 - CSDN博客 https://blog.csdn.net/Dr_Joseph/article/details/78111312
- 展开阅读全文 js 爬虫操作
from selenium import webdriver import time import random from bs4 import * browser = webdriver.Chrom ...
- springMVC之异常处理
1. 自己定义一个异常类: UserException.java public class UserException extends RuntimeException { private stati ...