ARC072 D Alice&Brown 博弈论】的更多相关文章

---题面--- 题解: 题目大意:有2堆石子数分别为x, y的石子,你每次可以从中间的某一堆中取出2i个石子,扔掉i个,并把剩下的i个放到另一堆,无法操作的人就输了. 现在给定x,y,判断先手必赢还是先手必输. 表示这题推出了一个性质,,,然后,,,就没有然后了. 看题解还是比较妙的. 结论:如果$|x - y| <= 1$那么后手必赢,反之先手必赢. 证明: 假设现在有$|x - y| \le 1$,我们不妨设$x > y$,那么$y = x - k$.所以如果我们从x中拿出2i个石子,那…
通过打表后可以发现,当初始石头数 \(|X - Y| \le 1\) 时先手必败否则先手必胜. 我们考虑使用归纳证明这个结论,显然 \((1, 0), (1, 1)\) 时是成立的. 基于观察,我们可以发现: 对于 \(|X - Y| > 1\) 的情况,先手总存在一种策略使得让后手取得 \(|X' - Y'| \le 1\) 的情况. 对于 \(|X - Y| \le 1\) 的情况,无论先手如何操作后手都必然能取得 \(|X' - Y'| > 1\) 的情况. 对于前者,不妨设 \(X &…
ARC072 C - Sequence 直接认为一个数是正的,或者第一个数是负的,每次将不合法的负数前缀和改成+1正数前缀和改成-1 #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…
AtCoder Regular Contest 072 / Beginner Contest 059 Announcement <br > 猛然发现今天有一场AC.....然后..显示手残开了个ABC.... 结果还是完美滚粗了啊QAQ 真是惨呢..... 那就补一下这些思路题啊QAQ <br > A - Three-letter acronym 输入三个字符串,分别把首字母小写改大写输出即可 B - Comparison 先比较长度不一样直接就比出打大小了 长度一样的话,从首字母…
构造题都是神仙题 /kk ARC066C Addition and Subtraction Hard 首先要发现两个性质: 加号右边不会有括号:显然,有括号也可以被删去,答案不变. \(op_i\)和\(A_{i+1}\)之间只会有一个括号:有多个括号的话只保留最外边那个,答案不变. 然后就可以定义状态:\(dp_{i,j}\)表示前\(i\)个数,还有\(j\)个未闭合的左括号,得到的最大答案. 由于只有减号右边有括号,所以只要知道左边有几个未闭合的左括号,就可以知道自己的贡献是\(1\)还是…
Description Alice and Bob are in their class doing drills on multiplication and division. They quickly get bored and instead decide to play a game they invented. The game starts with a target integer N≥2N≥2 , and an integer M=1M=1. Alice and Bob take…
博弈论+二分! 后一人会尽量选前一人切小的一块切!! 代码如下: #include<iostream> #include<stdio.h> #define I1(x) scanf("%d",&x) #define I2(x,y) scanf("%d%d",&x,&y) int main(){ ,a,b; __int64 m1,m2; I1(t); while(t--){ I1(n); m1=m2=; ;i<=n;…
思路:每个数的SG值就是其质因子个数,在进行nim博弈 代码如下: #include<iostream> #include<cstdio> #include<cmath> #include<algorithm> #include<cstring> #include<set> #include<vector> #define ll long long #define M 5000005 #define inf 1e10 #d…
这里有2种方法: 方法一:求SG函数 sg[i][j]:i表示1的个数,j表示合并操作的步数. 这共有4种操作: 1.消除一个1: 2.减掉一个1: 3.合并2个1: 4.把1合并到另外不是1中. 代码如下: #include<iostream> #include<stdio.h> #include<algorithm> #include<iomanip> #include<cmath> #include<cstring> #incl…
ZOJ 3529 - A Game Between Alice and Bob Time Limit:5000MS     Memory Limit:262144KB     64bit IO Format:%lld & %llu Description Alice and Bob play the following game. A series of numbers is written on the blackboard. Alice and Bob take turns choosing…