HDU-4296 Buildings 贪心 从相邻元素的相对位置开始考虑
题目链接:https://cn.vjudge.net/problem/HDU-4296
题意
有很多板子,每一个板子有重量(w)和承重(s)能力
现规定一块板子的PDV值为其上所有板子的重量和减去这个板子的承重能力
整个系统的优劣由每块板子中PDV最大值决定,越小越好
求最好系统的最大PDV值
思路
套路题了,一般问最小化系统最大值,就是从相对位置开始考虑
随便找凉快板子,在第一块板子放下面最优的情况,开始讨论
可得w+s越小的越在上面,排序求值即可
提交过程
| AC | 套路题 |
代码
#include <cstdio>
#include <algorithm>
using namespace std;
const int maxn=1e5+20;
struct Node{
long long w, s;
bool operator < (Node &a) const{
return w+s<a.w+a.s;
}
}node[maxn];
int main(void){
int n;
while (scanf("%d", &n)==1 && n){
for (int i=0; i<n; i++)
scanf("%lld%lld", &node[i].w, &node[i].s);
sort(node, node+n);
long long ans=-node[0].s, tot=node[0].w;
for (int i=1; i<n; i++){
long long res=tot-node[i].s; tot+=node[i].w;
if (ans<res) ans=res;
}printf("%lld\n", ans);
}
return 0;
}
| Time | Memory | Length | Lang | Submitted |
|---|---|---|---|---|
| 546ms | 3168kB | 610 | G++ | 2018-06-23 14:24:14 |
HDU-4296 Buildings 贪心 从相邻元素的相对位置开始考虑的更多相关文章
- HDU 4296 Buildings(贪心)
题意: 给定n个建筑物,每个建筑物都有两个属性w, s,每个建筑物都有一个PDV = (Σw j)-s i .意思就是它上面的所有的w相加减去它的s,让求怎么放置这个建筑物使得每个建筑物当中PDV最大 ...
- hdu 4296 Buildings(贪婪)
主题链接:http://acm.hdu.edu.cn/showproblem.php? pid=4296 Buildings Time Limit: 5000/2000 MS (Java/Others ...
- HDU 4296 Buildings (YY)
题意: 给定N个物体,每个物体有两个参数w,s. w代表它自身的重量: s代表它的强度.现在要把这些物体叠在一起,会产生一个PDV值. PDV解释:(Σwj)-si, where (Σwj) st ...
- codeforces 429 On the Bench dp+排列组合 限制相邻元素,求合法序列数。
限制相邻元素,求合法序列数. /** 题目:On the Bench 链接:http://codeforces.com/problemset/problem/840/C 题意:求相邻的元素相乘不为平方 ...
- 在js中怎么样选择互斥的相邻元素
在使用jquery中,我们通常会选择siblings()去选择相邻元素,使用eq()方法去匹配元素,使用index()获取对应元素的索引值,具体jquery代码如下: <style> *{ ...
- [百度]数组A中任意两个相邻元素大小相差1,在其中查找某个数
一.问题来源及描述 今天看了July的微博,发现了七月问题,有这个题,挺有意思的. 数组A中任意两个相邻元素大小相差1,现给定这样的数组A和目标整数t,找出t在数组A中的位置.如数组:[1,2,3,4 ...
- 基于visual Studio2013解决C语言竞赛题之0520相邻元素
题目
- (leetcode:选择不相邻元素,求和最大问题):打家劫舍(DP:198/213/337)
题型:从数组中选择不相邻元素,求和最大 (1)对于数组中的每个元素,都存在两种可能性:(1)选择(2)不选择,所以对于这类问题,暴力方法(递归思路)的时间复杂度为:O(2^n): (2)递归思路中往往 ...
- 日常踩坑 — 相邻元素之间的margin合并问题。
踩坑:使用v-for渲染的组件,当然图中的id已经换成class,还是没有解决这个问题,于是各种查找资料,我就不信简单的CSS问题这么难解决! v-for渲染组件级传值: <div class= ...
随机推荐
- SQL基本语句:2.基本表
SQL基本表的增删改
- IPv6地址分配
- udev的规则文件
转载于:https://linux.cn/article-9365-1.html 介绍 在 GNU/Linux 系统中,虽然设备的底层支持是在内核层面处理的,但是,它们相关的事件管理是在用户空间中通过 ...
- 记一次mybatis<if>标签的问题
前言 到底还是没理解清楚的锅~~~~搞了好久...啊啊啊啊 错误: There is no getter for property named 'name' in 'class java.lang.L ...
- Pyhton学习——Day5
# s=set('hello')# print(s)## s=set(['alex','alex','sb'])# print(s) # s={1,2,3,4,5,6} #添加# s.add('s') ...
- ntp.log日志梳理
[日志]offset 正负 机器A上执行: remote refid st t when poll reach delay offset jitter ======================== ...
- There are multiple modules with names that only differ in casing.
client?4c0e:153 ./src/components/Paginate.vue There are multiple modules with names that only differ ...
- git与github的连接流程
https://blog.csdn.net/sssssuuuuu666/article/details/78565381 https://www.cnblogs.com/wzd5230/p/49064 ...
- 常用的ES6方法
常用的ES6方法 ES6之后,新增了定义变量的两个关键字,分别是let和const. let和const都能够声明块级作用域,用法和var是类似的,let的特点是不会变量提升,而是被锁在当前块中. 实 ...
- 零基础学python-5.2 数字表达式操作符
表达式是处理数字最主要的工具 a=1#常量 a=a+1#表达式 操作符 操作符 描写叙述 yield 生成 器函数发送协议 lambda args:expression 生成匿名函数 x if y e ...