P5016 龙虎斗
链接:P5016
------------------------------------
作为2019年的模拟,还是有必要写一些的
-------------------------------------
这道题虽然就是道模拟,但是要开longlong,而且不能直接模拟,还是要略微优化一下。
(这还叫模拟?)
-------------------------------------
首先,考虑一下什么情况会放在m处
倘若本来龙和虎的气势就像等,那么自然是不用放的。
如果人数实在太多了,越放差越大,自然也是不行的。
- if(s2>*c||a==b){
- cout<<m;
- return ;
- }
m
----------------------------------
然后开始算一下怎么放
很容易想到,谁低给谁。
然后除一下就知道了。
-------------------------------
- #include<iostream>
- #include<algorithm>
- #include<cstdio>
- using namespace std;
- typedef long long ll;
- ll n,m,p1,s1,s2;
- ll so[];
- ll a;
- ll b;
- int main(){
- cin>>n;
- for(int i=;i<=n;++i){
- cin>>so[i];
- }
- cin>>m>>p1>>s1>>s2;
- so[p1]+=s1;
- for(int i=;i<m;++i){
- a+=(so[i]*(m-i));
- }
- for(int i=m+;i<=n;++i){
- b+=(so[i]*(i-m));
- }
- ll c=max(a,b)-min(a,b);
- if(s2>*c||a==b){
- cout<<m;
- return ;
- }
- else{
- ll st=c/s2;
- if(c-(s2*st)>=(s2*(st+)-c)){
- if(a>b){
- if(m+st+<=n)
- cout<<m+st+;
- else
- cout<<n;
- return ;
- }
- else{
- if(m-st->)
- cout<<m-st-;
- else
- cout<<;
- return ;
- }
- }
- else{
- if(a>b){
- if(m+st<=n)
- cout<<m+st;
- else
- cout<<n;
- return ;
- }
- else
- {
- if(m-st>)
- cout<<m-st;
- else
- cout<<;
- return ;
- }
- }
- }
- return ;
- }
Ac
P5016 龙虎斗的更多相关文章
- NOIP2018普及T2暨洛谷P5016 龙虎斗
题目链接:https://www.luogu.org/problemnew/show/P5016 分析: 这是一道模拟题.看到题目,我们首先要把它细致的读明白,模拟题特别考察细节,往往会有想不到的坑点 ...
- 洛谷 P5016 龙虎斗(模拟)
嗯... 题目链接:https://www.luogu.org/problem/P5016 这道题是一道模拟,不要考虑复杂,直接暴力枚举每一个点,看看加上s2之后两个势力的差值,找最小,记录下标. 注 ...
- P5016 龙虎斗 题解
这题真是*到家了QAQ 我在考场上调了将近75min,总算过了大样例. 首先,我们可以简化这一题,这道题的本质就是让我们找出一个点p2,往那个点上面加上s2个单位的重量,使得以m为中的两边的权值和的差 ...
- 洛谷 P5016 龙虎斗
输入兵营总数.兵营人数.以m分界. 然后输入s1个兵到了p1兵营. 最终我们要求的是把s2个兵放到哪个兵营使龙虎双方气势差距最小. 第一要把每个兵营的气势算出来,并且加到它所属的阵营里(<m是龙 ...
- P5016龙虎斗
这道题是2018年普及组的第二题,是一个模拟题. 首先计算出双方各自的势力,然后将增援的队伍势力加上,比较此时双方势力,并且作差,最后枚举将公平兵加在哪一个兵营.看似简单的题被我20分钟就写完了,但是 ...
- 题解 P5016 【龙虎斗】
首先祝各位大佬noip有个好成绩吧 当时比赛有个大数据,蒟蒻我暴力居然过了,好激动 这题一定要注意开long long (那个大数据就是我开long long才过的) 还有刚开始应设置答案为m(见解析 ...
- bzoj P5016[Snoi2017]一个简单的询问——solution
Description 给你一个长度为N的序列ai,1≤i≤N和q组询问,每组询问读入l1,r1,l2,r2,需输出 get(l,r,x)表示计算区间[l,r]中,数字x出现了多少次. Input ...
- 2018年NOIP普及组复赛题解
题目涉及算法: 标题统计:字符串入门题: 龙虎斗:数学题: 摆渡车:动态规划: 对称二叉树:搜索. 标题统计 题目链接:https://www.luogu.org/problem/P5015 这道题目 ...
- 《阿Q正传》读后感
kindle大法好. 利用坐车的时间阅读完了鲁迅先生写的<阿Q正传>, 心中感慨良多, 记下等以后翻看这些摸不着的回忆吧. 我没看过实体书版, 电子书版的<阿Q正传>注解很详细 ...
随机推荐
- 20190710双人开黑CF模拟赛
Codeforces Round #571 (Div. 2) 日常被tanao_大佬带飞,我AC了A和C(B题没了...否则tanao_大佬肯定把我吊打) A. Vus the Cossack and ...
- 全局对象的构造函数会在main函数之前执行?
#include <iostream> using namespace std; class CTest { public: CTest() { cout << "构 ...
- 加快Chrome网页开启速度
谷歌浏览器一直是众多大神心中的最爱,但是对于启动速度还是有一些纠结,这里找到一个好方法可以加快一些启动的速度,亲测有效. 1.地址栏输入chrome://flags: 2.启用"覆盖软件渲染 ...
- 《Android Studio实战 快速、高效地构建Android应用》--四、Git入门
Git版本控制系统(VCS)是分布式的,仓库的每一个副本均包含项目的完整历史 安装Git 下载 下载地址:http://git-scm.com/downloads 选择适合自己操作系统的来下载 如果下 ...
- HDU_2571_DP
http://acm.hdu.edu.cn/showproblem.php?pid=2571 简单dp,从上到下,从左到右依次更新每一格的最大幸运值. #include<iostream> ...
- djiango目录文件
一.创建项目 命令:django-admin startproject mysite mysite ├── manage.py └── mysite ├── __init__.py ├ ...
- Go语言实现:【剑指offer】题目汇总
所列题目与牛客网<剑指offer>专题相对应. 数组: 和为S的两个数字 和为S的连续正数序列 连续子数组的最大和 数字在排序数组中出现的次数 数组中只出现一次的数字 旋转数组的最小数字 ...
- SpingBoot错误信息处理及原理
SpringBoot错误信息处理机制 在一个web项目中,总需要对一些错误进行界面或者json数据返回,已实现更好的用户体验,SpringBoot中提供了对于错误处理的自动配置 ErrorMvcAut ...
- Jmeter之存储测试结果
前言 Jmeter做接口测试时,发送请求后,我们可以通过察看结果树看到结果,但是如果想要把测试结果保存起来,那该怎么做呢? 一:添加一个登录的http请求,填入正确的ip,接口地址,以及参数 二:右键 ...
- php连接mySql数据库 示例
<?php header("content-type:text/html;charset=utf-8"); error_reporting(E_ALL); /* 连接数据库- ...