题解 SP27102/UVA1747 【Swap Space】
双倍经验:UVA1747 Swap Space
用(a,b)表示每个硬盘的原容量和新文件系统下的容量。分两种情况考虑:a≤b和a>b
第一类a≤b格式化后能增加我们的剩余容量,所以肯定要优先格式化,按照a从小到大排序,所需空间较少,这样一来可以用较少的空间换取更多的空间;
第二类a>b会减小容量。考虑时间倒流。从后往前倒着看,容量增加,此时看作(b,a),由第一类可知容量增加时我们应当以第一个数b从小到大排序。但由于我们是倒着看,所以实际上先后顺序为b从大到小
例如原容量为7,对于(6,2),容量-4,7->3;如果从后往前反着看则是容量3->7,a,b为(2,6)。
#include<cstdio>
#include<algorithm>
using namespace std;
#define ll long long
struct node {
int a,b,c;
} m[1000010],mm[1000010];
inline bool cmp1(node a,node b) {
return a.a<b.a;
}
inline bool cmp2(node a,node b) {
return a.b>b.b;
}
int main() {
ll n,cnt1,cnt2,ans,s;
while(scanf("%lld",&n)!=EOF) {
cnt1=cnt2=ans=s=0;
for (ll x,y; n; n--) {
scanf("%lld%lld",&x,&y);
if (x<=y) //分成两类存储排序
m[++cnt1]=(node) {
x,y,y-x
};
else
mm[++cnt2]=(node) {
x,y,y-x
};
}
sort(m+1,m+cnt1+1,cmp1);
sort(mm+1,mm+cnt2+1,cmp2);
// ans存储所需的额外容量(当前的硬盘文件放满s剩余容量后还需要的额外容量,这里用负数的方式统计最多需要多少额外容量),s存储通过格式化硬盘所获得的容量
for (int i=1; i<=cnt1; i++)
ans=min(ans,s-m[i].a),s+=m[i].c;
for (int i=1; i<=cnt2; i++)
ans=min(ans,s-mm[i].a),s+=mm[i].c;
printf("%lld\n",ans>0? ans:-ans);
}
}
题解 SP27102/UVA1747 【Swap Space】的更多相关文章
- 【BZOJ4619/3709】[Wf2016]Swap Space/[PA2014]Bohater 贪心
[BZOJ4619][Wf2016]Swap Space Description 你有许多电脑,它们的硬盘用不同的文件系统储存数据.你想要通过格式化来统一文件系统.格式化硬盘可能使它的容量发生变化.为 ...
- Zabbix报告无交换内存主机 Lack of free swap space on xxxxx
[root@xx ~]# free -m total used free shared buffers cached Mem: 3832 3488 343 0 267 2389 -/+ buffers ...
- UNIX / Linux: 2 Ways to Add Swap Space Using dd, mkswap and swapon
UNIX / Linux: 2 Ways to Add Swap Space Using dd, mkswap and swapon by RAMESH NATARAJAN on AUGUST 18, ...
- zabbix Lack of free swap space
Zabbix初始设计是大型公司用于监控服务器集群的,但日常中也用于监控VPS或云主机.后者情况下Zabbix的很多配置和属性就没有经过优化,取决于监控的对象和用途,经常需要对一些Zabbix配置进行调 ...
- centos 安装oracle 报Checking swap space: 0 MB available, 150 MB required. Failed <<<<
1 系统环境 centos 6.5 oracle 11g 内存 16G 硬盘 ssd 250G 2 运行安装命令: [oracle@localhost database]$ ./runInstalle ...
- Linux交换空间(swap space)
每次安装Linux的时候,都会要求配置交换分区,那么这个分区是干嘛的呢?不设置这个分区有什么后果?如果一定要设置,设置多大比较合适?本篇将试图回答这些问题并尽量覆盖所有swap相关的知识. 下面的所有 ...
- zabbix server监控报主机 Lack of free swap space
zabbix server监控报主机 Lack of free swap space,因为交换空间不足引起.该主机内存为3G,正常交换空间大小为物理内存2倍左右. #查看已有内存及交换空间 free ...
- How To Add Swap Space on Ubuntu 16.04
Introduction One of the easiest way of increasing the responsiveness of your server and guarding aga ...
- 运维基础——Zabbix:Lack of free swap space on Zabbix server
问题 使用Zabbix监控一些云主机时,可能遇到: Lack of free swap space on Zabbix server 使用命令: free -m 看到: Swap 的total,use ...
随机推荐
- MySQL 8 服务器组件
MySQL 服务器包含了一个基于组件的架构,用于扩展服务器功能.服务器和其他组件可以使用组件提供的服务.(在使用服务方面,服务器也是一个组件,等同于其他组件).组件之间交互仅通过他们各自提供的服务. ...
- node-express处理表单的接口
写一个小接口,用postman测试接口是否可行
- 七月在线spark教程
链接:https://pan.baidu.com/s/1Ir5GMuDqJQBmSavHC-hDgQ 提取码:qd2e
- javascript 权威指南1
JavaScript是面向web的编程语言 web(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本和HTTP的.全球性的.动态交互的.跨平台的分布式图形信息系统.是建立在 ...
- IDEA如何快速搭建Java开发环境
作为IntelliJ IDEA mac新手,IDEA如何快速搭建Java开发环境呢?今天小编就给大家带来了IntelliJ IDEA mac使用教程,想知道IDEA如何快速搭建Java开发环境? 全局 ...
- .net mvc中epplus导出excel
帮助类 using OfficeOpenXml; using OfficeOpenXml.Style; using System; using System.Collections.Generic; ...
- CF1280E Kirchhoff's Current Loss
题意 做法 考虑一个子电路图\(G\),设得到有效电阻为\(x\),费用为\(f_G(x)\),通过归纳易得\(f_G(x)\)是关于\(x\)的一个一次函数,即\(f_G(x)=k_Gx\) 考虑电 ...
- Wannafly Winter Camp 2020 Day 5G Cryptographically Secure Pseudorandom Number Generator - 分块
多组数据,给定质数 \(p\) ,求所有 \(x\) 使得 \(f(x)=\min_{k=2}^x f(k)\) ,其中 \(f(x)=x^{-1}\) 所有 \(p\) 在 \([1,10^9]\) ...
- vue中的this.$nextTick()使用
首先我们来翻译一下nextTick是什么意思:下一个刻度 再来看看vue官网怎么说的: Vue.nextTick( [callback, context] )在下次 DOM 更新循环结束之后执行延迟回 ...
- LeetCode 3sum-closest 题解
思路 排序 枚举一个数a 双指针移动法确定b和c 求和,更新最接近的值 复杂度 T(n)=O(n2)  M(n)=O(1)T(n)=O(n^2) \; M(n)=O(1)T ...