链接:P5016

------------------------------------

作为2019年的模拟,还是有必要写一些的

-------------------------------------

这道题虽然就是道模拟,但是要开longlong,而且不能直接模拟,还是要略微优化一下。

(这还叫模拟?)

-------------------------------------

首先,考虑一下什么情况会放在m处

倘若本来龙和虎的气势就像等,那么自然是不用放的。

如果人数实在太多了,越放差越大,自然也是不行的。

  1. if(s2>*c||a==b){
  2. cout<<m;
  3. return ;
  4. }

m

----------------------------------

然后开始算一下怎么放

很容易想到,谁低给谁。

然后除一下就知道了。

-------------------------------

  1. #include<iostream>
  2. #include<algorithm>
  3. #include<cstdio>
  4. using namespace std;
  5. typedef long long ll;
  6. ll n,m,p1,s1,s2;
  7. ll so[];
  8. ll a;
  9. ll b;
  10. int main(){
  11. cin>>n;
  12. for(int i=;i<=n;++i){
  13. cin>>so[i];
  14. }
  15. cin>>m>>p1>>s1>>s2;
  16. so[p1]+=s1;
  17. for(int i=;i<m;++i){
  18. a+=(so[i]*(m-i));
  19. }
  20. for(int i=m+;i<=n;++i){
  21. b+=(so[i]*(i-m));
  22. }
  23. ll c=max(a,b)-min(a,b);
  24. if(s2>*c||a==b){
  25. cout<<m;
  26. return ;
  27. }
  28. else{
  29. ll st=c/s2;
  30. if(c-(s2*st)>=(s2*(st+)-c)){
  31. if(a>b){
  32. if(m+st+<=n)
  33. cout<<m+st+;
  34. else
  35. cout<<n;
  36. return ;
  37. }
  38. else{
  39. if(m-st->)
  40. cout<<m-st-;
  41. else
  42. cout<<;
  43. return ;
  44. }
  45. }
  46. else{
  47. if(a>b){
  48. if(m+st<=n)
  49. cout<<m+st;
  50. else
  51. cout<<n;
  52. return ;
  53. }
  54. else
  55. {
  56. if(m-st>)
  57. cout<<m-st;
  58. else
  59. cout<<;
  60. return ;
  61. }
  62. }
  63. }
  64. return ;
  65. }

Ac

P5016 龙虎斗的更多相关文章

  1. NOIP2018普及T2暨洛谷P5016 龙虎斗

    题目链接:https://www.luogu.org/problemnew/show/P5016 分析: 这是一道模拟题.看到题目,我们首先要把它细致的读明白,模拟题特别考察细节,往往会有想不到的坑点 ...

  2. 洛谷 P5016 龙虎斗(模拟)

    嗯... 题目链接:https://www.luogu.org/problem/P5016 这道题是一道模拟,不要考虑复杂,直接暴力枚举每一个点,看看加上s2之后两个势力的差值,找最小,记录下标. 注 ...

  3. P5016 龙虎斗 题解

    这题真是*到家了QAQ 我在考场上调了将近75min,总算过了大样例. 首先,我们可以简化这一题,这道题的本质就是让我们找出一个点p2,往那个点上面加上s2个单位的重量,使得以m为中的两边的权值和的差 ...

  4. 洛谷 P5016 龙虎斗

    输入兵营总数.兵营人数.以m分界. 然后输入s1个兵到了p1兵营. 最终我们要求的是把s2个兵放到哪个兵营使龙虎双方气势差距最小. 第一要把每个兵营的气势算出来,并且加到它所属的阵营里(<m是龙 ...

  5. P5016龙虎斗

    这道题是2018年普及组的第二题,是一个模拟题. 首先计算出双方各自的势力,然后将增援的队伍势力加上,比较此时双方势力,并且作差,最后枚举将公平兵加在哪一个兵营.看似简单的题被我20分钟就写完了,但是 ...

  6. 题解 P5016 【龙虎斗】

    首先祝各位大佬noip有个好成绩吧 当时比赛有个大数据,蒟蒻我暴力居然过了,好激动 这题一定要注意开long long (那个大数据就是我开long long才过的) 还有刚开始应设置答案为m(见解析 ...

  7. bzoj P5016[Snoi2017]一个简单的询问——solution

    Description 给你一个长度为N的序列ai,1≤i≤N和q组询问,每组询问读入l1,r1,l2,r2,需输出   get(l,r,x)表示计算区间[l,r]中,数字x出现了多少次. Input ...

  8. 2018年NOIP普及组复赛题解

    题目涉及算法: 标题统计:字符串入门题: 龙虎斗:数学题: 摆渡车:动态规划: 对称二叉树:搜索. 标题统计 题目链接:https://www.luogu.org/problem/P5015 这道题目 ...

  9. 《阿Q正传》读后感

    kindle大法好. 利用坐车的时间阅读完了鲁迅先生写的<阿Q正传>, 心中感慨良多, 记下等以后翻看这些摸不着的回忆吧. 我没看过实体书版, 电子书版的<阿Q正传>注解很详细 ...

随机推荐

  1. 20190710双人开黑CF模拟赛

    Codeforces Round #571 (Div. 2) 日常被tanao_大佬带飞,我AC了A和C(B题没了...否则tanao_大佬肯定把我吊打) A. Vus the Cossack and ...

  2. 全局对象的构造函数会在main函数之前执行?

    #include <iostream> using namespace std; class CTest { public: CTest() { cout << "构 ...

  3. 加快Chrome网页开启速度

    谷歌浏览器一直是众多大神心中的最爱,但是对于启动速度还是有一些纠结,这里找到一个好方法可以加快一些启动的速度,亲测有效. 1.地址栏输入chrome://flags: 2.启用"覆盖软件渲染 ...

  4. 《Android Studio实战 快速、高效地构建Android应用》--四、Git入门

    Git版本控制系统(VCS)是分布式的,仓库的每一个副本均包含项目的完整历史 安装Git 下载 下载地址:http://git-scm.com/downloads 选择适合自己操作系统的来下载 如果下 ...

  5. HDU_2571_DP

    http://acm.hdu.edu.cn/showproblem.php?pid=2571 简单dp,从上到下,从左到右依次更新每一格的最大幸运值. #include<iostream> ...

  6. djiango目录文件

    一.创建项目 命令:django-admin startproject mysite mysite ├── manage.py └── mysite     ├── __init__.py     ├ ...

  7. Go语言实现:【剑指offer】题目汇总

    所列题目与牛客网<剑指offer>专题相对应. 数组: 和为S的两个数字 和为S的连续正数序列 连续子数组的最大和 数字在排序数组中出现的次数 数组中只出现一次的数字 旋转数组的最小数字 ...

  8. SpingBoot错误信息处理及原理

    SpringBoot错误信息处理机制 在一个web项目中,总需要对一些错误进行界面或者json数据返回,已实现更好的用户体验,SpringBoot中提供了对于错误处理的自动配置 ErrorMvcAut ...

  9. Jmeter之存储测试结果

    前言 Jmeter做接口测试时,发送请求后,我们可以通过察看结果树看到结果,但是如果想要把测试结果保存起来,那该怎么做呢? 一:添加一个登录的http请求,填入正确的ip,接口地址,以及参数 二:右键 ...

  10. php连接mySql数据库 示例

    <?php header("content-type:text/html;charset=utf-8"); error_reporting(E_ALL); /* 连接数据库- ...