首页 > 其他分享 >GYM 105322 B

GYM 105322 B

时间:2024-09-19 22:35:38浏览次数:1  
标签:105322 ll int GYM long 减一 复杂度

题目描述

有一个 \(N\) 个数的序列 \(A\),两个人将轮流进行以下操作之一:

  • 删除序列中其中一个最小值。
  • 在所有数 \(>0\) 的情况下,你可以令所有元素减一。

求最终哪一方会赢。

思路

假设现在只有两个数,那么只要有一方删掉了较小值,那么另一方就赢了,所以两方一定会不断减一知道实在不能减为止。

现在我们将 \(A\) 排序。

在到达只有两个数的局面之前,一定会先删掉 \(N-2\) 个元素,而这里减法是将整个数组减一,所以我们不关心其顺序,总共会减 \(A_{N-1}\) 次。

只需判断次数的奇偶性即可。

空间复杂度 \(O(N)\),时间复杂度 \(O(N\log N)\)。

代码

#include<bits/stdc++.h>
using namespace std;
using ll = long long;

const int MAXN = 1000001;

int n;
ll a[MAXN];

int main() {
  ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
  cin >> n;
  for(int i = 1; i <= n; ++i) {
    cin >> a[i];
  }
  sort(a + 1, a + n + 1);
  if((a[n - 1] + n - 1) % 2 == 0) {
    cout << "Eric";
  }else {
    cout << "Cire";
  }
  return 0;
}

标签:105322,ll,int,GYM,long,减一,复杂度
From: https://www.cnblogs.com/yaosicheng124/p/18421513

相关文章

  • GYM 105262 L
    题目描述我们定义\(F_0=a,F_i=F_{i-1}+b+F_{i-1}(i\ge1)\),这里加法是指将字符串拼接。给定一个字符串\(S=F_{A_1}+F_{A_2}+\dots+F_{A_N}\),接着我们将对\(S\)进行一系列变换知道无法进行变换为止:选择一个\(1\lei<|S|且S_i=S_{i+1}\),删除\(S_{i+1}\),并将\(S_i\)替......
  • GYM 105125 C
    题目描述给定\(NM\)个数\(A_1,A_2,\dots,A_{NM}\),你要将这些数分成\(N\)个数组,每个数组\(M\)个数。接着你要将这些数组按字典序排序。对于排序后每个数组求出可能的字典序最小情况。思路我们从字典序的比较上来考虑,并把\(A\)排序。首先考虑当前数组\(i\)的第一位......
  • GYM 103389 C
    题目描述有\(N\)个景点,第\(i\)个属于公司\(c_i\)。当你第一次路过一个属于公司\(i\)的景点时,你会获得\(w_i\)元。在景点之间有\(m\)条单向道路连接\(u,v(u<v)\)。一开始你在景点\(1\)。求到所有景点\(1\lei\leN\)时最多能获得多少元。思路由于公司数量很少,所......
  • GYM 104114 F
    题目描述有\(N\)个参赛选手,将进行\(N-1\)场比赛,第\(i,j\)个选手进行比赛有\(P_{i,j}\)的激烈程度。每当选手\(i\)打败选手\(j\)时,\(P_{i,x}\leftarrow\max(P_{i,x},P_{j.x})\)。在这些比赛中,编号小的选手总是打败编号大的选手。求最终\(N-1\)场比赛的激烈程度之和......
  • OpenAI Gym ProcGen - Getting Action Meanings
    题意:OpenAIGymProcGen-获取动作含义问题背景:IntheOpenAIProcGengym,Iamnotgettingaway togetthemeaningsoftheactionvalues,Icanseethatthereare15actionsforthecoinrunenvironmentusing env.action_space.n.IhavetriedboththeG......
  • GYM 105264 E
    题目描述给定一个\(N\)个点的树,你要从中选出一个大小为\(k\)的子树出来,求这个子树的最小直径。思路由于此题允许\(O(N^2)\)的时间复杂度,所以考虑枚举子树的中心。接着以该中心为根向下搜出深度为\(i\)的结点数\(cnt_i\),接着枚举直径长度除\(2\)。由于这里直径可能长......
  • GYM 105264 C
    题目描述给定一个长度为\(N\)的数组\(A\),每次你可以令\(A_i\leftarrowA_i+1\)或\(A_i-1\)。求进行至多\(k\)次操作后\(A\)中最少不同元素数量。思路首先对\(A\)进行排序。令\(dp_{i,j}\)表示考虑前\(i\)个数,有\(j\)个不同的值时最多还能剩余几次操作。很......
  • OpenAI Gym custom environment: Discrete observation space with real values
    题意:OpenAIGym自定义环境:具有实数值的离散观测空间问题背景:Iwouldliketocreatecustomopenaigymenvironmentthathasdiscretestatespace,butwithfloatvalues.Tobemoreprecise,itshouldbearangeofvalueswith0.25step:10.0,10.25,10.5,10......
  • Start OpenAI gym on arbitrary initial state
    题意:“在任意初始状态下启动OpenAIGym”问题背景:AnybodyknowsanyOpenAIGymenvironmentswherewecansettheinitialstateofthegame?Forexample,IfoundtheMountainCarContinuous-v0candosuchthingsothatwecanselectatwhichpointthecarst......
  • gym创建环境、自定义gym环境
    环境:half_cheetah.pyfromosimportpathimportnumpyasnpfromgymnasiumimportutilsfromgymnasium.envs.mujocoimportMujocoEnvfromgymnasium.spacesimportBoxDEFAULT_CAMERA_CONFIG={"distance":4.0,}classMOHalfCheetahEnv(Mujoc......