NOIP2018普及T2暨洛谷P5016 龙虎斗
题目链接:https://www.luogu.org/problemnew/show/P5016
分析:
这是一道模拟题。看到题目,我们首先要把它细致的读明白,模拟题特别考察细节,往往会有想不到的坑点(好吧,这题貌似没有)。
然后我们还要看一看数据范围,可以注意到会出现10^9级别的数字。稍有信息学常识的人都知道,int型存储的最大数字是2147483647(再加就爆富负了),实在背不过这个数字也没关系,只要记住大概10910^9109级别即可,所以这题就可以long long了。
考虑到只需要开一个10510^5105级别的数组,所以全部long long就好(方便)。
我们顺着题目的思路,先求出每一方的气势,并不用记录每一个点的气势(别忘了p1点要先加上s1),然后我们可以先计算出两者之差(取个绝对值就不用考虑那么多了),由于要计算最小值,所以记录那个值的QAQ要赋一个最大值。然而我们并不需要多么大,考虑到最后两方之差总要减去一个加上的气势,所以最大值只需要赋成s。。。
然后后面就是简单的分情况讨论,别忘了从小到大,这样能满足最小的序号
代码:
#include<cstdio>
#include<cmath>
using namespace std;
#define maxn 100005
long long n,m,c[maxn],p1,ans,s1,s2,l,r,QAQ;
int main()
{
scanf("%lld",&n);
for(long long i=1;i<=n;i++)scanf("%lld",&c[i]);
scanf("%lld%lld%lld%lld",&m,&p1,&s1,&s2);
c[p1]+=s1;
for(long long i=1;i<m;i++) l+=c[i]*(m-i);
for(long long i=m+1;i<=n;i++) r+=c[i]*(i-m);
long long s=abs(l-r);
QAQ=s;
ans=m;
if(l>r)
{
for(long long i=m+1;i<=n;i++)
{
if(abs(s-s2*(i-m))<QAQ)
{
QAQ=abs(s-s2*(i-m));
ans=i;
}
}
}
else
{
for(long long i=1;i<m;i++)
{
if(abs(s-s2*(m-i))<=QAQ)
{
QAQ=abs(s-s2*(m-i));
ans=i;
}
}
}
printf("%lld",ans);
return 0;
}
NOIP2018普及T2暨洛谷P5016 龙虎斗的更多相关文章
- NOIP2018普及T4暨洛谷P5018 对称二叉树题解
题目链接:https://www.luogu.org/problemnew/show/P5018 花絮:这道题真的比历年的t4都简单的多呀,而且本蒟蒻做得出t4做不出t3呜呜呜... 这道题可以是一只 ...
- NOIP2018普及T1暨洛谷P5015 标题统计 题解
题目链接:https://www.luogu.org/problemnew/show/P5015 分析: 这道题大概是给个签到分吧.很显然的字符串操作.本篇题解主要帮助初学者,请大佬略过. 首先给大家 ...
- NOIp2018 TG day1 T2暨洛谷P5020 货币系统:题解
题目链接:https://www.luogu.org/problemnew/show/P5020 这道题感觉比较水啊,身为普及组蒟蒻都不费力的做出来了,而且数据范围应该还能大一些,n起码几万几十万都不 ...
- 洛谷 P5016 龙虎斗(模拟)
嗯... 题目链接:https://www.luogu.org/problem/P5016 这道题是一道模拟,不要考虑复杂,直接暴力枚举每一个点,看看加上s2之后两个势力的差值,找最小,记录下标. 注 ...
- 洛谷 P5016 龙虎斗
输入兵营总数.兵营人数.以m分界. 然后输入s1个兵到了p1兵营. 最终我们要求的是把s2个兵放到哪个兵营使龙虎双方气势差距最小. 第一要把每个兵营的气势算出来,并且加到它所属的阵营里(<m是龙 ...
- 2017普及组D1T3 洛谷P3956 棋盘
2017普及组D1T3 洛谷P3956 棋盘 原题 题目描述 有一个m×m的棋盘,棋盘上每一个格子可能是红色.黄色或没有任何颜色的.你现在要从棋盘的最左上角走到棋盘的最右下角. 任何一个时刻,你所站在 ...
- 纪中23日c组T2 2159. 【2017.7.11普及】max 洛谷P1249 最大乘积
纪中2159. max 洛谷P1249 最大乘积 说明:这两题基本完全相同,故放在一起写题解 纪中2159. max (File IO): input:max.in output:max.out 时间 ...
- NOIp2018普及组T3暨洛谷P5017 摆渡车:题解
题目链接:https://www.luogu.org/problemnew/show/P5017 emm,这次的真的不简单的,T3比T4难? 醉了... 蒟蒻肯定没有其他大佬讲的好啊,但肯定尽力,真的 ...
- NOIP2018&2013提高组T1暨洛谷P5019 铺设道路
题目链接:https://www.luogu.org/problemnew/show/P5019 花絮:普及蒟蒻终于A了一道提高的题目?emm,写一篇题解纪念一下吧.求过! 分析: 这道题我们可以采用 ...
随机推荐
- Android零基础入门第49节:AdapterViewFlipper图片轮播
原文:Android零基础入门第49节:AdapterViewFlipper图片轮播 上一期学习了ExpandableListView的使用,你已经掌握了吗?本期开始学习AdapterViewFilp ...
- 基于VUE实现的新闻后台管理系统-二
基础环境及最后的开发效果已完成说明,接下来就开始配置. ¶npm初始化 新建项目文件夹VueDemo,在其内执行如下脚本 npm init -y 安装vue-cli构建包 yarn add vue-c ...
- webform的图片防盗链
最近用到域的问题,不是同一主机的请求将不允许请求此页面. 这其实和图片防盗链的本质是一样的. 通过两个属性:由于当时用的aspx视图引擎,所以需要通过HttpContext.Current才能拿到ht ...
- Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)
When compiling Qt you can choose one of these options based on the configure command line: no OpenSS ...
- qt截获html请求(继承QNetworkAccessManager和QNetworkReply)
QtWebkit加载html页面,html中会有很多的请求,比如<img id="testImg" src="http://*.jpg" width=&q ...
- IntelliJ IDEA热部署
如何对webAPP实施热部署: 首先修改Configurations里面的 其次在设置中修改 使用debug模式运行即可
- 为什么Python中“2==2>1”结果为True
在Python中,你可能会发现这样一个奇怪的现象: >>> 2 == 2 > 1 True >>> (2 == 2) > 1 False >> ...
- Django之Cookie Session详解,CBV,FBV登陆验证装饰器和自定义分页
Cookie Session和自定义分页 cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接 ...
- CentOS 7出现Failed to start firewalld.service: Unit is masked的解决办法和firewalld 防火墙开关
说明:刚刚使用systemctl start firewalld命令开启防火墙的时候,却开不成功,出现Failed to start firewalld.service: Unit is masked ...
- Nginx添加Lua扩展模块
Nginx添加Lua扩展模块 编译安装LuaJIT wget http://luajit.org/download/LuaJIT-2.0.4.tar.gz tar xf LuaJIT-.tar.gz ...