题解 P5016 【龙虎斗】
首先祝各位大佬noip有个好成绩吧
当时比赛有个大数据,蒟蒻我暴力居然过了,好激动
这题一定要注意开long long
(那个大数据就是我开long long才过的)
还有刚开始应设置答案为m(见解析)
#include<iostream>
#include<cmath>
using namespace std;
long long f1,f2,f3;//计算初始双方气势
long long a[100005],s1,s2;
int i,n,m,p1,ans;
int main()
{
cin>>n;
for (i=1;i<=n;i++) cin>>a[i];
cin>>m>>p1>>s1>>s2;
for (i=1;i<m;i++)
{if(p1==i) a[i]+=s1; //如果是p1就直接加上计算
f1+=(m-i)*a[i];}
for (i=m+1;i<=n;i++)
{if (p1==i) a[i]+=s1;
f2+=(i-m)*a[i];}
long long cha=abs(f1-f2);//计算双方的差
if (cha==0) {cout<<m; return 0;}
//差已经为0,直接放在m处,m不属于任何一方
ans=m;//若放置后差反而更大,应放m处
for (i=1;i<m;i++)
{
f3=abs(f1+s2*(m-i)-f2);//计算新的差
if (f3<cha) ans=i,cha=f3;
}
for (i=m+1;i<=n;i++)
{
f3=abs(f2+s2*(i-m)-f1);
if (f3<cha) ans=i,cha=f3;
}
cout<<ans;
}
题解 P5016 【龙虎斗】的更多相关文章
- P5016 龙虎斗 题解
这题真是*到家了QAQ 我在考场上调了将近75min,总算过了大样例. 首先,我们可以简化这一题,这道题的本质就是让我们找出一个点p2,往那个点上面加上s2个单位的重量,使得以m为中的两边的权值和的差 ...
- NOIP2018普及T2暨洛谷P5016 龙虎斗
题目链接:https://www.luogu.org/problemnew/show/P5016 分析: 这是一道模拟题.看到题目,我们首先要把它细致的读明白,模拟题特别考察细节,往往会有想不到的坑点 ...
- P5016 龙虎斗
链接:P5016 ------------------------------------ 作为2019年的模拟,还是有必要写一些的 --------------------------------- ...
- 洛谷 P5016 龙虎斗(模拟)
嗯... 题目链接:https://www.luogu.org/problem/P5016 这道题是一道模拟,不要考虑复杂,直接暴力枚举每一个点,看看加上s2之后两个势力的差值,找最小,记录下标. 注 ...
- 洛谷 P5016 龙虎斗
输入兵营总数.兵营人数.以m分界. 然后输入s1个兵到了p1兵营. 最终我们要求的是把s2个兵放到哪个兵营使龙虎双方气势差距最小. 第一要把每个兵营的气势算出来,并且加到它所属的阵营里(<m是龙 ...
- P5016龙虎斗
这道题是2018年普及组的第二题,是一个模拟题. 首先计算出双方各自的势力,然后将增援的队伍势力加上,比较此时双方势力,并且作差,最后枚举将公平兵加在哪一个兵营.看似简单的题被我20分钟就写完了,但是 ...
- 2018年NOIP普及组复赛题解
题目涉及算法: 标题统计:字符串入门题: 龙虎斗:数学题: 摆渡车:动态规划: 对称二叉树:搜索. 标题统计 题目链接:https://www.luogu.org/problem/P5015 这道题目 ...
- [Noip 2018][标题统计 龙湖斗 摆渡车 对称二叉树]普及组题解
啊喂,都已经9102年了,你还在想去年? 这里是一个Noip2018年PJ第二题打爆的OIer,错失省一 但经过了一年,我学到了很多,也有了很多朋友,水平也提高了很多,现在回看当时: 今年的Noip ...
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
随机推荐
- .NET错误提示之:无法更新EntitySet“TableName”因为它有一个DefiningQuery
使用LINQ 进行提交数据时发生的错误提示 原因:提交的对象表 没有设主键.
- 解释下Func<T, bool> exp
比如 interface IRepository<T> where T:class { IEnumerable<T> FindAll(Func<T, bool> e ...
- Model-View-Controller Explained in C++
The Permanent URL is: Model-View-Controller Explained in C++. The Model-View-Controller (MVC) is not ...
- python trojan development 2nd —— use python to send mail and listen to the key board then combine them
请勿用于非法用途!!!!!本人概不负责!!!原创作品,转载说明出处!!!!! from pynput.keyboard import Key,Listener import logging impor ...
- Storm 学习之路(六)—— Storm项目三种打包方式对比分析
一.简介 在将Storm Topology提交到服务器集群运行时,需要先将项目进行打包.本文主要对比分析各种打包方式,并将打包过程中需要注意的事项进行说明.主要打包方式有以下三种: 第一种:不加任何插 ...
- CQRS之旅——旅程8(后记:经验教训)
旅程8:后记:经验教训 我们的地图有多好?我们走了多远?我们学到了什么?我们迷路了吗? "这片土地可能对那些愿意冒险的人有益."亨利.哈德逊 这一章总结了我们旅程中的发现.它强调了 ...
- Navicat for MySQ v11-v12都有的,供大家学习提升使用
Navicat for MySQL破解版是一套专为 MySQL 设计的高性能数据库管理及开发工具,Navicat for MySQL破解版主要功能包括SQL创建工具或编辑器.数据模型工具.数据传输.导 ...
- Python笔记【2】_列表学习
#!/usr/bin/env/python #-*-coding:utf-8-*- #Author:LingChongShi #查看源码Ctrl+左键 #字符串:通常有单引号“'”.双引号“" ...
- You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'wher id = 41' at line 1
where 没有打完整
- 机器学习经典算法之EM
一.简介 EM 的英文是 Expectation Maximization,所以 EM 算法也叫最大期望算法. 我们先看一个简单的场景:假设你炒了一份菜,想要把它平均分到两个碟子里,该怎么分? 很少有 ...