Time of Trial(思维)

题目大意:一个人想逃,一个人要阻止那个人逃跑 ,阻止者念每一个符咒的时间为b[i],逃跑者念每一个符咒的时间为a[i],逃跑者如果念完了第i个符咒,阻止者还没有念完或者刚好念完这第i个符咒,此时逃跑者就可以逃跑了。(每个人都不知道对方在念哪一个符咒)

队友给讲的解题思路首先可以想到的是逃跑者用时最短念完的符咒是最危险的(他可能很快念完然后离开了),所以想到要先阻止对方耗时最少的,次少的,,,,最多的; 但是假如有可能你(阻止者)在念他用时最少的符咒,并且你的时间比他少,把这个符咒锁住了,他逃不了,可是如果他根本没念这个,他念的是别的,当你念完最少(或其他的)来念这个时,他用时较少已经念完他就可以逃跑了。可以发现你根本猜不了,所以你要找一个特定的念符咒的顺序,只要这个顺序可以把所有情况都阻止,那他就逃不了了。那么回到思考的最开始,我们依旧是从逃跑者耗时最少的开始,次少的,,,,以此念下去,把逃跑者当成一开始就在念第i个,我们算按我们的顺序到念完第i个点的时间是否比逃跑者少,如果是就可以阻止他从这个点离开,如果每一个点按我们的顺序都能阻止成功,那么就阻止成功了,一旦有一个没有阻止成功,逃跑者就可以逃跑

AC_Code

  #include <iostream>
#include <cstdio>
#include <cstring>
#include <ctime>
#include <cmath>
#include <algorithm>
using namespace std;
typedef long long ll;
const int maxn=1e5+;
ll n;
struct node
{
ll a;
ll b;
}s[maxn]; bool cmp(struct node x, struct node y)
{
return x.a<y.a;
} int main()
{
ll i,sum=,flag=;
scanf("%lld",&n);
for(i=;i<n;i++)
{
scanf("%lld",&s[i].a);
}
for(i=;i<n;i++)
{
scanf("%lld",&s[i].b);
} sort(s,s+n,cmp); for(i=;i<n;i++)
{
sum += s[i].b;
if( sum<s[i].a )
{
flag++;
}
}
if( flag==n ) printf("Dire victory\n");
else printf("Redemption\n"); return ;
}

Time of Trial的更多相关文章

  1. Visual Studio 2012 trial version

    Update: vs2012.5.iso http://download.microsoft.com/download/9/F/1/9F1DEA0F-97CC-4CC4-9B4D-0DB45B8261 ...

  2. myeclipse trial expired[转]

    转自:http://blog.csdn.net/yuyuyuyuy/article/details/5878122 今天MyEclipse提示过期了,MyEclipse Trial Expired. ...

  3. (转)软件版本中的Alpha,Beta,RC,Trial是什么意思?

    版本号:V(Version):即版本,通常用数字表示版本号.(如:EVEREST Ultimate v4.20.1188 Beta )Build:用数字或日期标示版本号的一种方式.(如:VeryCD ...

  4. 软件版本中的Alpha,Beta,RC,Trial是什么意思?

    版本号: V(Version):即版本,通常用数字表示版本号.(如:EVEREST Ultimate v4.20.1188 Beta ) Build:用数字或日期标示版本号的一种方式.(如:VeryC ...

  5. BAYESIAN STATISTICS AND CLINICAL TRIAL CONCLUSIONS: WHY THE OPTIMSE STUDY SHOULD BE CONSIDERED POSITIVE(转)

    Statistical approaches to randomised controlled trial analysis The statistical approach used in the ...

  6. PLSQL过期:Your trial period for PL/SQL Developer is over .If you want to continue using this software ,you must purchase the retail version.

    PLSQL过期:Your trial period for PL/SQL Developer is over .If you want to continue using this software ...

  7. Remove menucool tooltip trial version

    You use this crack on your own risk , i dont reserve any right on this script or what is going to af ...

  8. java.lang.RuntimeException: JPedal Trial has now expired

    具体提示: java.lang.RuntimeException: JPedal Trial has now expired jpedal-server-trial.jar jar包过期了,jpeda ...

  9. DNGuard HVM Unpacker(3.71 trial support and x64 fixed)

    DNGuard HVM Unpacker(3.71 trial support and x64 fixed) Gr8 news. Finally got the x64 crash fixed. DN ...

随机推荐

  1. Actions require unique method/path combination for Swagger

    原文:Actions require unique method/path combination for Swagger services.AddSwaggerGen (c => { c.Re ...

  2. C#实现RSA加密解密

    RSA介绍 RSA公钥加密算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman在(美国麻省理工学院)开发的。RSA取名来自开发他们三者的名字。 RSA的缺点: 产生密钥 ...

  3. 测度(Measure)

    测度概述 数学上,测度(Measure)是一个函数,它对一个给定集合的某些子集指定一个数,这个数可以比作大小.体积.概率等等.传统的积分是在区间上进行的,后来人们希望把积分推广到任意的集合上,就发展出 ...

  4. Tomcat组件梳理—Service组件

    Tomcat组件梳理-Service组件 1.组件定义 Tomcat中只有一个Server,一个Server可以用多个Service,一个Service可以有多个Connector和一个Contain ...

  5. 2019 新华网java面试笔试题 (含面试题解析)

    本人3年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.新华网等公司offer,岗位是Java后端开发,最终选择去了新华网. 面试了很多家公司,感觉大部分公司考察的点都差 ...

  6. Flask蓝图Blueprint和特殊装饰器

    Flask 中的 蓝图 Blueprint 不能被run的flask实例:相当于django中的app01 应用 蓝图作用:功能隔离 路由隔离 Blueprint就是 一个不能run的flask 蓝图 ...

  7. vue 属性props定义方法

    当子组件接收父组件传过来的值的时候,我们一般有两种方式来接收 不过大家好像都用第二种方式,我只有在不确定数据类型的时候才用第一种方式 第一种: export default { // 不检测类型,全盘 ...

  8. 如何免费试用SAP的Fiori应用

    什么是SAP Fiori?SAP Fiori不是SAP发布的某款产品,而是SAP新一代UI设计风格和用户体验的代号. Fiori是一个意大利语中的单词,意思是"花": 不得不说SA ...

  9. 使用Prometheus针对自己的服务器采集自定义的参数

    用一个简单的例子来说明. 我用express和http搭了一个最简单的服务器,监听在8081端口上. 在metrics endpoint上,我会打印出这个服务器从启动至今,服务了多少次请求.这里我只是 ...

  10. 大数据系列文章-Hadoop基础介绍(一)

    Hadoop项目背景简介 2003-2004年,Google公开了部分GFS个Mapreduce思想的细节,以此为基础Doug Cutting等人用了2年的业余时间,实现了DFS和Mapreduce机 ...