BUPT2017 wintertraining(16) #4 B
POJ - 3045

题意

n(1 <= N <= 50,000) 个牛,重wi (1 <= W_i <= 10,000),力气si (1 <= S_i <= 1,000,000,000),堆成一个竖线,risk值为每只牛上面的w之和-它的si,使它的最大值最小,输出最小值。

题解

根据数据范围也可以知道要贪心。
wi和si之和小的放上面。不要漏掉最top的牛的risk值。
证明:设i,j是相邻的两只牛,tot为i、j上面的wi值之和,r_i为i的risk。
若i在j上面则
\[ \begin{align} r_j=tot+w_i-s_j\tag{1}\\ r_i=tot-s_i\tag{2} \end{align}\\ \]
若j在i上面则
\[ \begin{align} r_i=tot+w_j-s_i\tag{3}\\ r_j=tot-s_j\tag{4} \end{align} \]
可以观察到(1)>(4),(3)>(2),要是(1)>(3),也就是 j 在 i 上面更优,则有\(w_i+s_i>w_j+s_j\)。

代码

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream>
#define ll long long
using namespace std;
struct cow{ll w,s;bool operator < (const cow&b)const{return w+s<b.w+b.s;}
}a[50005];
int main() {int n;scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%lld%lld",&a[i].w,&a[i].s);  sort(a+1,1+a+n);ll ans=-a[1].s,tot=0;for(int i=2;i<=n;i++){tot+=a[i-1].w;ans=max(ans,tot-a[i].s);}printf("%lld",ans);return 0;
}

【POJ3045】Cow Acrobats(贪心)相关推荐

  1. POJ3045 Cow Acrobats —— 思维证明

    题目链接:http://poj.org/problem?id=3045 Cow Acrobats Time Limit: 1000MS   Memory Limit: 65536K Total Sub ...

  2. poj 3045 Cow Acrobats (贪心!!不是二分,)

    农夫的N只牛(1<=n<=50,000)决定练习特技表演. 特技表演如下:站在对方的头顶上,形成一个垂直的高度. 每头牛都有重量(1 <= W_i <= 10,000)和力量( ...

  3. POJ 3618 Best Cow Line(贪心算法)

    Best Cow Line Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 30454   Accepted: 8126 De ...

  4. POJ 3617 Best Cow Line 贪心算法

    Best Cow Line Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 26670 Accepted: 7226 Descri ...

  5. bzoj4278[ONTAK2015]Tasowanie bzoj1692[USACO 2007Dec]队列变换(Best Cow Line) 贪心正确性证明...

    做法网上到处都有就不说了. 这题其实是之前做的-.不过由于人太傻现在才想明白比较字典序进行贪心的正确性-. 方便起见,在两个串的最右端都加上很大但不相同的字符,避免第lcp+1个字符不存在的边界. 如 ...

  6. POJ 3045 Cow Acrobats (最大化最小值)

    题目链接:click here~~ [题目大意] 给你n头牛叠罗汉.每头都有自己的重量w和力量s,承受的风险数rank就是该牛上面全部牛的总重量减去该牛自身的力量,题目要求设计一个方案使得全部牛里面风 ...

  7. [单调栈]Cow Acrobats

    Farmer John's N (1 <= N <= 50,000) cows (numbered 1-N) are planning to run away and join the c ...

  8. Cow Acrobats(暑期训练4--贪心)

    POJ3045 题意 给n只奶牛,每只奶牛都有两个属性, 风险值(w[i])和抗压值(s[i]). 现在要把这些牛垒在一起, 每个牛都有一个危险值:他上面的牛的风险值之和减去它的抗压值. 问最大危险值 ...

  9. POJ 3617 Best Cow Line 贪心

    不能单纯比较头尾两个字符,应该比较头尾两个字符串. //#pragma comment(linker, "/STACK:1024000000,1024000000") #inclu ...

  10. ICPC程序设计题解书籍系列之三:秋田拓哉:《挑战程序设计竞赛》(第2版)

    白书<挑战程序设计竞赛>(第2版)题目一览 白书:秋田拓哉:<挑战程序设计竞赛>(第2版) 第1章 蓄势待发--准备篇(例题) POJ1852 UVa10714 ZOJ2376 ...

最新文章

  1. 【每日一题】剑指 Offer 22. 链表中倒数第k个节点
  2. usb大容量存储设备驱动_Win10默认已禁用USB驱动器缓存 1903版本起无需点击安全弹出...
  3. 电脑组装笔记:手把手教你如何自己组装电脑
  4. 宝宝学数学的第一套书,秒杀题海战术!上小学前应该这样学数学!
  5. leetcode-回文链表
  6. AutoLayout--masonry使用
  7. 手把手教你用ECharts画饼图和环形图
  8. 洛谷—— P1268 树的重量
  9. 以下程序运行后的输出结果是:int fun(int n){static int s=1;s*=n;return s;main(){int i,s=0;for(i=1;i<=4;i++){s+=f}}}
  10. python封装为php库,从PHP运行Python脚本作为库
  11. 【推荐算法】推荐系统必读论文整理
  12. Google Chrome Frame 谷歌浏览器框架
  13. python图片查看器
  14. python花瓣长度和花瓣宽度散点图鸢尾花_matplotlib可视化操作及案例分析
  15. 魔幻!过年在家,Java和Python程序员比工资打起来了...
  16. 数据分析案例1.0——药品销售分析
  17. 动手| 一个人脸识别的K8s部署实践
  18. 5.1 频率响应概述
  19. 如何绘制甘特图?这些软件来帮你
  20. 长沙小学计算机老师,2019下半年湖南长沙小学信息技术教师资格证面试试题考什么内容...

热门文章

  1. 为vs2008添加Mobile Web Forms模板
  2. Bambook 简介
  3. shark学习(1)【原创】
  4. 教你如何Mac上手动配置静态IP上网
  5. macOS Recovery中修复磁盘的具体操作方法
  6. 刚刚接触视频剪辑,怎么快速剪视频?
  7. 浏览器自动转换URL编码产生乱码问题
  8. python第三十二天-----算法
  9. Linux欢迎文字配置(命令行模式)
  10. 使用Revel(go)开发网站