[Agc002E/At1999] Candy Piles - 博弈论】的更多相关文章

有n堆石子,第i堆有ai个石子.有两种操作: 把石子最多的那一堆给丢掉 把每一堆全部丢掉一个 谁拿走最后石子谁输.判断胜负情况. 直觉转化为一个走棋盘问题 考虑如何计算左下角点的状态 找到原点最右上方且不在边界上的点 如果这个点和上方.和右方距离有一个是奇数,那么这个点就是后手必胜点,即First 找上方很容易 找右方,只需要找到第一个小于等于自己的,做差即可 #include <bits/stdc++.h> using namespace std; int n,a[100005]; int…
题目大意 有\(n\)堆糖果,第\(i\)堆有\(a_i\)个. 两个人轮流决策,决策分为两种: 1.选择糖果数最多的一堆糖果,并把这堆糖全吃了. 2.在每堆非空的糖果堆里拿一颗糖吃掉. 吃掉最后一颗糖的人输.问你先手必胜还是先手必败. \(n\leq 100000\) 题解 又是一个打表结论题. 先把\(a_i\)从大到小排序. 设\(f_{i,j}\)为删掉前\(i\)大,每堆删掉\(j\)个后是先手必胜还是先手必败.先把所有的\(f_{i,j}\)算出来. 如果都删完了,就先手必胜. 打个…
题意 题目链接 Sol Orz SovitPower #include<bits/stdc++.h> #define Pair pair<int, double> #define MP(x, y) make_pair(x, y) #define fi first #define se second //#define int long long #define LL long long #define Fin(x) {freopen(#x".in","…
神仙题..表示自己智商不够想不到... 好几次读成最后拿的赢了,导致一直没看懂题解... 题目链接: https://atcoder.jp/contests/agc002/tasks/agc002_e 题解: 首先所有数从大到小排序,如果把每个数上面画出高度等于它数值的柱状图,那么就可以得到一条从左上角走到右下角的Lattice Path, 两人从原点开始每一步操作就相当于向右或向上走一格,走到边界的输. 那么朴素的DP是\(O(\sum a_i)\)的,考虑优化: 找规律可得从一个不在边界上的…
题目链接 \(Description\) 给定\(n\)堆糖,数量分别为\(a_i\).Alice和Bob轮流操作.每次可以吃掉最多的一堆,也可以每堆各吃掉一个.无法操作的人输,求谁能赢. \(n\leq10^5,\ a_i\leq10^9\). \(Solution\) 画这图累死了= = 虽然确实有点丑 假设有\(5\)堆糖,把它画成这样.我们发现每次操作就是拿掉最左边一列或最下边的一行.那么可以看成,初始在\((1,1)\),每次向右或向上走一步. 考虑求\(SG\).边界位置的\(SG\…
题面: 传送门 思路: 每一堆糖排成一列,所有列横着放,形成一个阶梯型 两个决策相当于左边一列去掉和最下面一行去掉 那么这个模型可以转化为同样形状的网格图,向左上方走,走到边界的赢· 然后一波数学推导带走 Code: #include<cstdio> #include<cstring> #include<algorithm> using namespace std; ]; int main(){ scanf("%d",&n); ;i<=…
[Agc002E]Candy Piles 题目大意 有\(n\)个数,两人轮流操作,可以做以下操作之一: 删掉一个最大的数 将所有数-1 最后取没的人输,问先手是否必胜? 试题分析 直接决策不知道选哪一个,又没有其它转化操作的思路,索性排一遍序好了. 然后将这个数值作为y轴画出来一个图表,这个东西可以干什么呢? 发现我们的操作就相当于在这个图标的右下角开始走,每次可以向左走或者向上走,没得可走的人就输了. 然后根据这个必胜和必败的关系我们可以推出一个表来,如果一个位置的上方或者右方有一个为0的,…
题目链接 AtCoder:https://agc002.contest.atcoder.jp/tasks/agc002_e 洛谷:https://www.luogu.org/problemnew/show/AT1999 Solution 设\(f[i][j]\)表示拿了\(i\)个最大的,全部减一了\(j\)次先手必胜还是必败. 那么把表打出来可以发现它长这样: 无耻的偷大佬的图 发现必胜或必败状态都是一条一条的,证明比较显然,考虑\(f[i][j]\)可以由\(f[i+1][j],f[i][j…
目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定 N 堆糖果,第 i 堆包含 ai 个糖果. 现在两人进行博弈.有两种操作选择: (1)吃掉包含最多糖果的糖果堆. (2)每堆吃掉一颗. 吃掉最后一颗糖的人判输,问谁必胜? 原题传送门. @solution@ 将 n 个数从大到小排好序,看成一个 n 列的直方图,第 i 列包含 a'i 个格子. 举个例子:对于 5 5 3 2 1 1,可以建立直方图如下:…
Problem Statement There are N piles of candies on the table. The piles are numbered 1 through N. At first, pile i contains ai candies. Snuke and Ciel are playing a game. They take alternating turns. Snuke goes first. In each turn, the current player…
本来实在写不动这题 sol 了,但一想这是个经典的模型转化问题,于是就写了(.jpg) 题意 有一个序列 \(a_i\). 两人轮流操作,每次操作为二选一: 1. 把最大的 \(a_i\) 减成 \(0\) 2. 把所有非 \(0\) 的 \(a_i\) 减去 \(1\) 若一个人操作后,所有 \(a_i\) 都是 \(0\),这个人就输了. 两人都采用轮流策略,问谁能赢. \(n\le 10^5\) \(a_i\le 10^9\) 题解 智商模型转化:把所有 \(a_i\) 从大到小排序,画一…
颓!颓!颓!(bushi 前传: 贪心/构造/DP 杂题选做 贪心/构造/DP 杂题选做Ⅱ 51. CF758E Broken Tree 讲个笑话,这道题是 11.3 模拟赛的 T2,模拟赛里那道题的名字叫猛张(orz ztr),而我刚好在 11.4 把这题 A 了.乍一看好像也没啥问题,不过模拟赛时间是 2020.11.3,而我 AC 这道题的时间是 2021.11.4((( 首先看到这样的题我们肯定会想到贪心,具体来说我们 DFS 一遍整棵树,DFS 到一个节点 \(x\) 时,我们考虑用最…
这个帖子,是在自己学知识点累了的时候就看看\(AGC\)的题目来休息. 而且白天上课可以做( AGC-001 \(A\ BBQ Easy\) 考虑从小到大排,相邻两个取为一对. BBQ Easy #include<iostream> #include<cstdio> #include<algorithm> #define ll long long #define N 100000 ll n; ll num[N],ans; int main(){ scanf("…
一句话题解 QwQ主要是因为这篇文章写的有点长……有时候要找某一个题可能不是很好找,所以写了这个东西. 具体的题意.题解和代码可以再往下翻._(:з」∠)_ AGC 001 C:枚举中点/中边. D:构造. E:根据组合数意义转为$DP$. F:拓扑排序,线段树优化连边. AGC 002 C:水题,看是否有a[i]+a[i+1]>=k. D:并查集上倍增,二分答案. E:博弈(坑) F:模型转化然后$DP$. AGC 003 C:一个数到自己应到位置距离为奇数的个数/2. D:数学,质因数分解,…
私のZJOI Day2 2017-3-22 08:00:07 AtCoder试题选讲 SYC(Sun Yican) from Shaoxing No.1 High School 2017-3-22 08:00:07 AtCoder简介自己看. 1.寿司 有一个长为N数列A,初始全为0. 有Q次操作,每次操作两个参数X,Y 在A[1],A[2]-A[X]中找出最小的数,如果有多个找小标最小的,设找到了u A[u] = A[u] + 1 重复这个过程Y次 Solution: A[i] >= A[i…
AtCoder Grand Contest 002 A - Range Product 翻译 告诉你\(a,b\),求\(\prod_{i=a}^b i\)是正数还是负数还是零. 题解 什么鬼玩意. #include<iostream> using namespace std; int main() { int a,b; cin>>a>>b; if(a<=0&&b>=0)cout<<"Zero"<<…
RE:从零开始的AGC被虐(到)生活(不能自理) 「一直注视着你,似近似远,总是触碰不到.」 --来自风平浪静的明天 AtCoder Grand Contest 001 B: Mysterious Light 设 \(f(x, y)\) 为上一次反射长度为 \(x\) ,边界长度为 \(y\) 的答案,容易观察得到 \(f(x, y) = 2 \times \lfloor\frac{y}{x}\rfloor \times x + f(y \mod x, x)\) C: Shorten Diame…
在知乎上听zzx大佬说AGC练智商...于是试了一下 A.Range Product 给$a$,$b$,求$\prod^{b}_{i=a}i$是正数,负数还是$0$ ...不写了 B.Box and Ball 有$n$个盒子,每个里面有一些小球,在$1$号盒子里有一个红球,现在给你若干次移动操作 每次移动是“从$x$中随机抽出一个球中放到$y$中” 最后询问有多少个盒子有可能有红球 ...sb题吧,不写了口胡一下 发现一个盒子只要“有可能”被放过红球且未被拿光,就是“有可能”有红球,模拟即可 官…
AGC002 A Range Product 不会,弃疗了/kk https://agc002.contest.atcoder.jp/submissions/7908938 B Box and Ball 照题意模拟. https://agc002.contest.atcoder.jp/submissions/7908987 C Knot Puzzle 如果有相邻两个\(a\)之和\(\ge L\)就可以一直切到这里然后切掉它们中间,否则不行. https://agc002.contest.atc…
1. 3721 Smuggling Marbles 大意: 给定$n+1$节点树, $0$为根节点, 初始在一些节点放一个石子, 然后按顺序进行如下操作. 若$0$节点有石子, 则移入盒子 所有石子移向父亲节点 把所有不少于$2$个石子的节点的石子丢掉 若树上还有石子,则返回第一步 对于所有$2^{n+1}$种初始放石子的方案, 求出最后盒子中石子总数之和. 长链剖分, 这道以后再写 2. 3727 Prefix-free Game 两个串$s,t$合法要满足 $s$不为$t$的前缀且$t$不为…
AGC002 A - Range Product #include <bits/stdc++.h> #define fi first #define se second #define pii pair<int,int> #define mp make_pair #define pb push_back #define space putchar(' ') #define enter putchar('\n') #define eps 1e-10 #define MAXN 5005…
F是计数于是就做(kan ti jie)了= = B - Box and Ball 模拟一下 每个盒子开一个d表示有的球数 可能存在红球的打个标记 传递一下就行了 #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #define inf 20021225 #define ll long long #define mxn 100010 using namespace s…
http://poj.org/problem?id=2234 博弈论真是博大精深orz 首先我们仔细分析很容易分析出来,当只有一堆的时候,先手必胜:两堆并且相同的时候,先手必败,反之必胜. 根据博弈论的知识(论文 张一飞:<由感性认识到理性认识——透析一类搏弈游戏的解答过程>) 局面可以分解,且结果可以合并. 局面均是先手 当子局面是 胜 和 败,那么局面则为胜 当子局面是 败 和 胜,那么局面则为胜 当子局面是 败 和 败,那么局面则为败 当子局面为 胜 和 胜,那么局面为不确定 而这些性质…
[概念] 转载连接:树状数组 讲的挺好. 这两题非常的相似,查询区间的累加和.更新结点.Add(x,d) 与 Query(L,R) 的操作 [题目链接:candy] 唉,也是现在才发现这题用了这个知识,当初A的第一个数据结构的题就是关于树状数组的,忘了忘了.. Problem C: candy Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 252  Solved: 63 SubmitStatusWeb Board Description Kimi…
CQRXLB Accepted : 19   Submit : 40 Time Limit : 1000 MS   Memory Limit : 65536 KB CQRXLB Problem Description: CQR and XLB are best friends. One night, they are staring each other and feel boring, and XLB says let's play game! They place n piles of st…
题目 Moving Pebbles Two players play the following game. At the beginning of the game they start with n (1<=n<=100000) piles of stones. At each step of the game, the player chooses a pile and remove at least one stone from this pile and move zero or m…
A. Three Piles of Candies time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output Alice and Bob have received three big piles of candies as a gift. Now they want to divide these candies as fair as poss…
题目链接: (bzoj) https://www.lydsy.com/JudgeOnline/problem.php?id=1022 (luogu) https://www.luogu.org/problemnew/show/P4279 题解: 大力出奇迹系列.. 我找了一小时规律,瞎猜了一个结论,看着都不靠谱,结果它居然过了.... 结论: 若所有\(a_i\)都等于\(1\), 则后手必胜当且仅当\(n\)是奇数:否则后手必胜当且仅当所有\(a_i\)异或和为\(0\). 既然对了那就口胡一…
There are N children standing in a line. Each child is assigned a rating value. You are giving candies to these children subjected to the following requirements: Each child must have at least one candy. Children with a higher rating get more candies…
背景: 昨天看了<最强大脑>,由于节目比较有争议性,不知为什么,作为一名感性的人,就想试一下如果自己理性分析会是怎样的呢? 过程是这样的: 中国队(3人)VS英国队(4人). 1:李建东(队长)出战,[并说中国队不胜就再不参加最强大脑]3局过后,打平,双方都没脑力进行下一轮,所以评委各得1分,结果:1V1. 2:苏XX(忘名了)出战,打败对手,结果:2V1. 3:申一帆出战,失败,结果2V2平(同时申一帆情绪失控离开节目现场,经节目组一番说辞后回归节目) 问题来了:最后一战,谁出站,在大屏幕播…