2018.07.12 atcoder Go Home(贪心)
传送门
题意简述:大家在数轴上生活,公司在 s。
班车送所有人回家,有 n 个住处,第 i 个位置在 xi,居住了 pi 的人。
保证 xi 互不相同。
大家⼀起投票向前还是向后,如果票数相同就固定向数轴负方向,每个⼈是自私的,希望自己尽早回家。
(但是注意,虽然是自私的,并不⼀定投自己家的方向)
到家了必须下车(因为自私)
问大家都做最优决策的情况下,最后⼀个回家的人需要多久到家?
车速为 1。
this is an easy problem.
事实上,这题我们应该倒着思考,对于最后的两队人:最左边的和最右边的,如果最左边的不比最右边的少,那么无论如何投票,最后都会先走到最左边,再走到最右边。这样的话相当于最右边的人并没有选择权,因此他们应该将票投给左边来使左边的人都尽快回家然后使自己尽快回家。这样的话最右边的人的位置已经不重要了,我们可以直接将最右边的人与最左边的人合并,然后继续判断合并之后最左边的人和最右边的人的关系,直到所有人都位于起点的一侧直接全部接完就行了。
代码如下:
#include<bits/stdc++.h>
#define N 1000005
#define ll long long
using namespace std;
inline ll read(){
ll ans=0;
char ch=getchar();
while(!isdigit(ch))ch=getchar();
while(isdigit(ch))ans=(ans<<3)+(ans<<1)+(ch^48),ch=getchar();
return ans;
}
ll n,s,ans,x[N],p[N];
int main(){
n=read(),s=read();
for(ll i=1;i<=n;++i)x[i]=read(),p[i]=read();
ll l=1,r=n;
while(l<=r){
if(x[l]>=s){ans+=x[r]-s;break;}
if(x[r]<=s){ans+=s-x[l];break;}
ans+=x[r]-x[l];
if(p[l]>=p[r])while(p[l]>=p[r]&&l<r)p[l]+=p[r--];
else while(p[l]<p[r]&&l<r)p[r]+=p[l++];
}
printf("%lld",ans);
return 0;
}
2018.07.12 atcoder Go Home(贪心)的更多相关文章
- 2018.07.12 atcoder Choosing Points(数学分析好题)
传送门 一句话题意:给出n,d1,d2" role="presentation" style="position: relative;">n,d ...
- China Internet Conference(2018.07.12)
中国互联网大会 时间:2018.07.12地点:北京国家会议中心
- 2018.07.20 atcoder Largest Smallest Cyclic Shift(贪心)
传送门 题意:给你x个a,y个b,z个c,显然这些字符可以拼成若干字符串,然后求这些字符串中最小表示法表示出来的最大的那一个. 解法:贪心思想,用multiset维护现在拼成的字串,每次取一个最小的和 ...
- http://www.cnbc.com/2016/07/12/tensions-in-south-china-sea-to-persist-even-after-court-ruling.html
http://www.cnbc.com/2016/07/12/tensions-in-south-china-sea-to-persist-even-after-court-ruling.html T ...
- 2018年12月8日广州.NET微软技术俱乐部活动总结
吕毅写了一篇活动总结,写得很好!原文地址是:https://blog.walterlv.com/post/december-event-microsoft-technology-salon.html ...
- 2018.5.12 storm数据源kafka堆积
问题现象: storm代码依赖4个源数据topic,2018.5.12上午8点左右开始收到告警短信,源头的4个topic数据严重堆积. 排查: 1.查看stormUI, storm拓扑结构如下: 看现 ...
- Artificial Intelligence Computing Conference(2018.09.12)
时间:2018.09.12地点:北京国际饭店会议中心
- China Cloud Computing Conference(2018.07.24)
时间:2018.07.24地点:北京国家会议中心
- AI Summit(2018.07.19)
AI Summit 时间:2018.07.19地点:北京丽都皇冠假日酒店
随机推荐
- Windows下MySQL5.6查找my.ini配置文件
在DOS命令行窗口登录MySQL,输入如下命令查看MySQL的安装目录和数据存放目录,MySQL的配置文件就在数据存放目录下: 另外一种方法: 在"开始 → 所有程序 → MySQL&quo ...
- VBA 调用DLL动态链接库
在ArcMap中引用动态链接库 我在VB6下编译生成了一个动态链接库文件VBAPrj.dll,其中有一类模块VBACls,此类模块有一个方法Test(Doc As Object). ...
- Spring声明式事务不回滚问题
疑问,确实像往常一样在service上添加了注解 @Transactional,为什么查询数据库时还是发现有数据不一致的情况,想想肯定是事务没起作用,出现异常的时候数据没有回滚.于是就对相关代码进行了 ...
- 数据类型-Series
数据类型-Series Series数据类型由一组数据和数据相关的索引组成,键 -> 值 Series数据类型可视为:一维 带标签 数组 Series基本操作类似数组和字典 Series数据类型 ...
- Lock()与RLock()锁
资源总是有限的,程序运行如果对同一个对象进行操作,则有可能造成资源的争用,甚至导致死锁 也可能导致读写混乱 锁提供如下方法: 1.Lock.acquire([blocking]) 2.Lock.rel ...
- nyoj528-找球号(三) 【位运算】
http://acm.nyist.net/JudgeOnline/problem.php?pid=528 找球号(三) 时间限制:2000 ms | 内存限制:3000 KB 难度:2 描述 ...
- 了解大数据的特点、来源与数据呈现方式以及用Python写Mad Libs游戏
作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2620. 1.浏览2019春节各种大数据分析报告,例如: 这世间,再 ...
- Python format 格式化函数。
Python format 格式化函数 Python 字符串 Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能. 基本语法是通过 {} 和 ...
- Birthday(费用流)
Birthday https://www.nowcoder.com/acm/contest/206/A 题目描述 恬恬的生日临近了.宇扬给她准备了一个蛋糕. 正如往常一样,宇扬在蛋糕上插了n支蜡烛,并 ...
- C++ 内存解析
一.内存基本构成可编程内存在基本上分为这样的几大部分:静态存储区.堆区和栈区.他们的功能不同,对他们使用方式也就不同. 静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在 ...