首页 > 其他分享 >AGC002E Candy Piles

AGC002E Candy Piles

时间:2023-06-06 22:22:17浏览次数:34  
标签:Piles int Candy maxn AGC002E 糖果

桌上有 \(n\) 堆糖果,第 \(i\) 堆糖果有 \(a_i\) 个糖。两人在玩游戏,轮流进行,每次进行下列两个操作中的一个:

  1. 将当前最大的那堆糖果全部吃完
  2. 将每堆糖果吃掉一个

吃完的人输,假设两人足够聪明,问谁有必胜策略?

把序列从大到小排序,观察到 \(2\) 操作后最大值不变,构建一个网格,每次相当于往右或往上走。所有边界就是必胜态,然后可以推出所有状态。这样复杂度爆炸。观察到对角线上的状态相同,这可以归纳证明。于是可以找到右上角的点的状态,这个之后上面和右面有关。

#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 5;
int n, a[maxn];
int main() {
	scanf("%d", &n);
	for (int i = 1; i <= n; i++) scanf("%d", a + i);
	sort(a + 1, a + 1 + n, greater<int>());
	for (int i = 1; i <= n; i++) {
		if (i == n || i + 1 > a[i + 1]) {
			int cnt = 0;
			for (int j = i + 1; j <= n; j++) {
				if (a[j] == i) {
					cnt++;
				}
			}
			if ((cnt & 1) || ((a[i] - i) & 1)) puts("First");
			else puts("Second");
			break;
		}
	}
	return 0;
}

标签:Piles,int,Candy,maxn,AGC002E,糖果
From: https://www.cnblogs.com/zcr-blog/p/17461887.html

相关文章

  • AGC002E Candy Piles
    尝试考虑\(n=1,n=2,n=3\)的必败必胜条件,寻找一些结论,但是发现即使是\(n=3\)胜负情况已经有些不可描述了,说明我们必须尝试转化问题的形式。注意到操作是全局减,常见的转化是差分,但是差分后的操作仍然没有优秀的性质。继续思考,可以得到一个恰当的转化:注意到游戏结束当且仅当最......
  • android: minSdkVersion、targetSdkVersion、CompileSdkVersion三个api版本号的区别
    一,minSdkVersion:   app可以安装的最低的api版本:   1,安装:googleplay和应用市场会根据用户的api版本,           判断用户是否可以看到你的app    2, 运行:在minSdkVersion指定版本的api上运行时,           ......
  • 糖果 Candy uva1639
    有两个盒子各有n(n<=2e5)个糖,每天随机选一个(概率分别为p,1-p),然后吃一颗糖。直到有一天,没糖了!输入n,p,求此时另一个盒子里糖的个数的数学期望   假设最后某个盒子有k颗糖,然后计算概率即可 #include<iostream>#include<cstring>#include<algorithm>#include<cmath>u......
  • C. Candy Store
    C.CandyStoreThestoresells$n$typesofcandieswithnumbersfrom$1$to$n$.Onecandyoftype$i$costs$b_i$coins.Intotal,thereare$a_i$candiesof......
  • Android compileSdkVersion、buildToolsVersion、minSdkVersion、targetSdkVersion
    1、CompileSdkVersion是你SDK的版本号,也就是APILevel,指定了Gradle编译你的App时使用的AndroidAPI版本  2、buildeToolVersion是你构建工具的版本,其中包括了打包工具......
  • arc143 C - Piles of Pebbles
    题意:\(n\)堆石子,每堆\(a_i\)个。甲乙轮流操作。甲每次选择至少一堆,使被选堆的石子数都减\(X\);乙每次选择至少一堆,使被选堆的石子数都减\(Y\)。不能操作者输。问谁赢......
  • [LeetCode] 2517. Maximum Tastiness of Candy Basket
    Youaregivenanarrayofpositiveintegers price where price[i] denotesthepriceofthe ith candyandapositiveinteger k.Thestoresellsbasketsof......
  • [AGC002E] Candy Piles
    很久以前做的题了,现在觉得这题没有写博客真是太可惜了,回来补。题目先举一个例子: 两种操作就等于删除一列或一行。所以这道题就转换成从原点随机向右或向上走直到......
  • CF334A Candy Bags 题解
    题目传送门题目大意:给你\(n^2\)颗糖,分给\(n\)人,使每个人的权值相等(第\(i\)块的权值为\(i\)),输出第\(i\)个人选的糖果集合,注意题目中说\(n\)为偶数。解题思路......
  • [??记录]agc002E Candy Piles
    agc的题好神啊。学校里想了个思路,回家开题解,才发现自己的思路离谱至极,浪费了这道题后面的思考。linktoatcoderlinktoLuogu题意:给定\(n\)堆石子,二人博弈,操作二选......