AGC002E题解
简要题意
桌上有 \(n\) 堆糖果,第 \(i\) 堆糖果有 \(a_i\) 个糖。两人在玩游戏,轮流进行,每次进行下列两个操作中的一个:
将当前最大的那堆糖果全部吃完;
将每堆糖果吃掉一个;
吃完的人输,假设两人足够聪明,问谁有必胜策略?
数据范围:\(1\leq n\leq10^5,1\le a_i\le10^9\) 。
思路
首先对于最大的一堆糖,如果两个人不去操作它那么他就会一直是最大的,而如果有人选择干掉它,那么剩下的最大值会顶替它。所以我们首先可以将 \(a_i\) 从大到小排序。但是对于第二种操作每次我们都要将全局减一不方便,但是每个数的相对大小不变,所以我们可以看成有一条线去截一些数,每次向上挪动。同样的,对于第一种操作我们也可以用相同的方法表示。所以我们可以将数列下标与数值看成一个有序二元组,由它们组成边界,把题目转化成在平面直角坐标系中有一个在 \((1,1)\) 的石子,现在两个人轮流移动,不能移动者获胜。于是就可以递推出每个格子的情况,但是数据范围不允许我们算出全部格子,所以需要稍微找一下规律。我们发现对角线上的格子的情况是一样的,所以可以暴力找到最远的对角线上的点,然后看它的上面与右边的获胜情况推出它自己是否获胜。
代码
bool cmp(int a, int b){return a > b;}
signed main(){
n = rd();
for(int i = 1; i <= n; ++i)a[i] = rd();
sort(a + 1, a + 1 + n, cmp); int pos;
for(pos = 1; pos <= n and a[pos] >= pos; ++pos); --pos;
bool o = (a[pos] - pos) & 1;
if(! o){
int i; for(i = pos + 1; a[i] == pos; ++i); --i;
o = (i - pos) & 1;
}
puts(o ? "First" : "Second");
return 0;
}
AGC002E题解的更多相关文章
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- noip2016十连测题解
以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...
- BZOJ-2561-最小生成树 题解(最小割)
2561: 最小生成树(题解) Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1628 Solved: 786 传送门:http://www.lyd ...
- Codeforces Round #353 (Div. 2) ABCDE 题解 python
Problems # Name A Infinite Sequence standard input/output 1 s, 256 MB x3509 B Restoring P ...
- 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解
题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...
- 2016ACM青岛区域赛题解
A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Jav ...
- poj1399 hoj1037 Direct Visibility 题解 (宽搜)
http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...
- 网络流n题 题解
学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...
- CF100965C题解..
求方程 \[ \begin{array}\\ \sum_{i=1}^n x_i & \equiv & a_1 \pmod{p} \\ \sum_{i=1}^n x_i^2 & ...
- JSOI2016R3 瞎BB题解
题意请看absi大爷的blog http://absi2011.is-programmer.com/posts/200920.html http://absi2011.is-programmer.co ...
随机推荐
- Axios 面试题 (2023-09-15更新)
有封装过 axios 么?封装一个 axios? import axios from 'axios' // 创建axios实例 const service = axios.create({ baseU ...
- mysql将公司数据随机挂在部门身上
1.创建示例数据 CREATE TABLE department_table ( company_code VARCHAR(10) COMMENT '公司编码', company_name VARCH ...
- 在docker中使用主机串口通讯
在进行软件docker化的过程时,很大的一个阻碍就是软件与各种外围硬件设备的交互,网口通信的设备能够很容易地接入容器,但是串口设备则要复杂一些.本文讨论在windows和linux下docker容器使 ...
- springboot搭建http2服务器和h2c服务器 h2 的http/https 请求服务器
HTTP2.0特性通俗易懂篇:https://www.cnblogs.com/yingsmirk/p/5248506.html深入了解篇:https://www.jianshu.com/p/67c54 ...
- mac 10.15 国内如何安装brew
下载文件 brew_install.sh,然后执行 sh brew_install.sh 通常会卡在 tapping homebrew/core ,没关系, 执行如下命令即可 解决方法,手动执行下面 ...
- 买苹果MacBook Pro ,有必要买care吗?
先了解一下AppleCare+ for Mac的服务范围:将原先的一年保修延长至三年,并且提供两次收取服务费的意外保修服务,以及当电池寿命低于80%时免费的电池更换.其中,意外保修服务依然是要收费的, ...
- Python 在Excel单元格中应用数据条
在Excel中添加数据条是一种数据可视化技巧,它通过条形图的形式在单元格内直观展示数值的大小,尤其适合比较同一列或行中各个单元格的数值.这种表示方式可以让大量的数字信息一目了然.本文将介绍如何使用Py ...
- Qt编写的项目作品28-视频监控显示安卓版
一.功能特点 1.1 基础功能 支持各种音频视频文件格式,比如mp3.wav.mp4.asf.rm.rmvb.mkv等. 支持各种视频流格式,比如rtp.rtsp.rtmp.http等. 本地音视频文 ...
- [转]Vetur can't find `tsconfig.json` or `jsconfig.json` in d:\VueProjects\myroute.
vue界面启动项目 visual code报错 如下图,找到 Ignore Project Warning 前边打上对勾
- 老生常谈——分布式限流:部分Sentinal源码解读
基础知识 HTTP CODE = 429 "请求过多" A. 限流的类型 服务端 客户端 限流的标的 IP 用户 ... 基本要求 准确限制过量的请求. 低延时.限流器不能拖慢HT ...