JZOJ3426. 封印一击
Description
“圣主applepi于公元2011年9月创造了Nescafe,它在散发了16吃光辉之后与公元2011年11月12日被封印为一颗魂珠,贮藏于Nescafe神塔之中。公元2012年9月,圣主带领四大护法重启了Nescafe,如今已经是Nescafe之魂的第30吃传播了。不久,它就要被第二次封印,而变成一座神杯。。。”applepi思索着Nescafe的历史,准备着第二次封印。
Nescafe由n种元素组成(编号为1~n),第i种元素有一个封印区[ai,bi]。当封印力度E小于ai时,该元素获得ai的封印能量;当封印力度E在ai到bi之间时,该元素将获得E的封印能量;而当封印力度E大于bi时,该元素将被破坏从而不能获得任何封印能量。现在圣主applepi想选择恰当的E,使得封印获得的总能量尽可能高。为了封印的最后一击尽量完美,就请你写个程序帮他计算一下吧!
Input
第一行一个整数N。
接下来N行每行两个整数ai、bi,第i+1行表示第i种元素的封印区间。
Output
两个用空格隔开的证书,第一个数十能够获得最多总能量的封印力度E,第二个数是获得的总能量大小。当存在多个E能够获得最多总能量时,输出最小的E。
Sample Input
2
5 10
20 25
Sample Output
10 30
Data Constraint
对于50%的数据,1<=N<=1000,1<=ai<=bi<=10000。
对于100%的数据,1<=N<=105,1<=ai<=bi<=109。
解析:离散化,显然,能量最高的情况一定在一个区间的右端点。将区间的左右端点取出,最小到大排序,然后暴力枚举一下,l为所有区间左端点的和,r=0,如果遇到一个左端点(a[i].x为端点值),l-=a[i].x r++。ans=max(ans,l+r*a[i].x).遇到右端点则r–;
#include <bits/stdc++.h>
using namespace std;
#define ll long long
struct A
{ll x,p;
}a[200001];
bool cmp (A a,A b)
{if (a.x==b.x) return a.p>b.p;return a.x<b.x;
}
long long l,r,ans1,ans2;
int main()
{ll n;cin>>n;for (ll i=1;i<=n;i++){cin>>a[i].x>>a[i+n].x;l+=a[i].x;a[i].p=1,a[i+n].p=-1;} sort (a+1,a+(2*n)+1,cmp);for (ll i=1;i<=2*n;i++){if (a[i].p==1){l-=a[i].x;r++;ll z=a[i].x*r+l;if (z>ans2) ans2=z,ans1=a[i].x;}else {ll z=a[i].x*r+l;if (z>ans2) ans2=z,ans1=a[i].x;r--;}}cout<<ans1<<" "<<ans2;
}
JZOJ3426. 封印一击相关推荐
- JZOJ3426. 【NOIP2013模拟】封印一击 (2017.8B组)
https://jzoj.net/senior/#main/show/3426 想法: 贪心,E只可能在b端点上(暴力对拍证明) 如何求答案?答案等于b[i]*包括它的区间个数+比它大的a[i]的和 ...
- JZOJ 3426. 封印一击
题目 Description "圣主applepi于公元2011年9月创造了Nescafe,它在散发了16吃光辉之后与公元2011年11月12日被封印为一颗魂珠,贮藏于Nescafe神塔之中 ...
- [Jzoj] 3426. 封印一击
题目描述 NescafeNescafeNescafe 由 NNN 种元素组成(编号为 1−N1-N1−N ),第 iii 种元素有一个封印区 [ai,bi][a_i,b_i][ai,bi] .当封 ...
- jzoj 3426. 封印一击 (Standard IO)
Description "圣主applepi于公元2011年9月创造了Nescafe,它在散发了16吃光辉之后与公元2011年11月12日被封印为一颗魂珠,贮藏于Nescafe神塔之中.公元 ...
- 【tyvj】P2065 「Poetize10」封印一击(贪心+线段树/差分)
http://new.tyvj.cn/p/2065 我就不说我很sb的用线段树来维护值...... 本机自测的时候想了老半天没想出怎么维护点在所有区间被多少区间包含的方法.最后一小时才想出来线段树(果 ...
- 8.18 纪中集训 Day18
T1能量获取 Description "封印大典启动,请出Nescafe魂珠!"随着圣主applepi一声令下,圣剑护法rainbow和魔杖护法freda将Nescafe魂珠放置于 ...
- 2019.09.15 多校联合训练(提高组)
能量获取 一.题目 "封印大典启动,请出Nescafe魂珠!"随着圣主applepi一声令下,圣剑护法rainbow和魔杖护法freda将Nescafe魂珠放置于封印台上.封印台是 ...
- 2019.08.18【NOIP提高组】模拟 B 组 贪心+离散+KMP
文章目录 0 能量获取 1 封印一击 2 归途与征程 荣耀永不散场 0 能量获取 "封印大典启动,请出Nescafe魂珠!"随着圣主applepi一声令下,圣剑护法rainbow和 ...
- 解体症状---被封印的灵魂
解体症状---被封印的灵魂 来源 http://blog.sina.cn/dpool/blog/s/blog_4bbf7d560102xam6.html 一.解体症状的本质 解体症状又叫人格解体,咋一 ...
最新文章
- 机器学习公开课笔记(1):机器学习简介及一元线性回归
- Linux学习教程,Linux入门教程(超详细)| 网址推荐
- 用matlab画牛顿迭代图形,matlab牛顿迭代动画演示
- linux下无权限安装anaconda和tensorflow-gpu
- 统一资源定位符(URL)介绍
- Mac---使用tree生成目录结构
- 能否构成三角形的条件代码_【论文】一行代码发一篇ICML?
- Air202s6 怎么下载程序
- 南京应用计算机学校排名,南京软件工程专业比较好的17所大学推荐
- OSChina 周三乱弹 ——我们IT工程师会缺女友?
- jvm-虚拟机栈笔记【详细】
- E. Thematic Contests【dp】
- 检测电池电量和充电状态
- IP 地址详解(IPv4、IPv6)
- 网络攻防技术——黑客攻防
- 关于APP自动化测试框架
- python面试大全 萧井陌_知乎萧井陌大神Python Flask实战课程
- 商标买卖哪个平台最好_商标买卖哪个平台最大?
- Charles 的使用(电脑 获取微信小程序数据)
- WorkFlow ERP 3.1审核接口调试(台湾版易飞)