AtCoder Beginner Contest 059(CD)

AtCoder Beginner Contest 059(CD)

以后只写 C , D C,D C,D的题解。

C - Sequence

思路:贪心暴力,显然只有两种情况,正负正负或者负正负正,然后贪心即可。

D - Alice&Brown

思路:博弈找规律。

显然有边界情况:我们假设 x ≤ y x\leq y xy(因为两堆石子等价)

( 0 , 0 ) , ( 0 , 1 ) , ( 1 , 1 ) (0,0),(0,1),(1,1) (0,0),(0,1),(1,1)是必败的情况。

这是 a b s ( x − y ) ≤ 1 abs(x-y)\le1 abs(xy)1的时候。

它之前的一步肯定是 a b s ( x − y ) > 1 abs(x-y)>1 abs(xy)>1

因为如果前一步也是 a b s ( x − y ) ≤ 1 abs(x-y)\le 1 abs(xy)1

无论是 x x x减还是 y y y减,绝对差值都会大于 1 1 1

( x + i ) − ( y − 2 i ) = 3 i − ( y − x ) > 1 (x+i)-(y-2i)=3i-(y-x)>1 (x+i)(y2i)=3i(yx)>1

( y + i ) − ( x − 2 i ) = 3 i + ( y − x ) > 1 (y+i)-(x-2i)=3i+(y-x)>1 (y+i)(x2i)=3i+(yx)>1

所以前一步是 a b s ( x − y ) > 1 abs(x-y)>1 abs(xy)>1 是必胜的情况。

显然还可以继续往前递推一步肯定是 a b s ( x − y ) ≤ 1 abs(x-y)\le 1 abs(xy)1,同理是必败的情况。

综上: a b s ( x − y ) ≤ 1 abs(x-y)\le 1 abs(xy)1必败, a b s ( x − y ) > 1 abs(x-y)>1 abs(xy)>1必胜。

你可能感兴趣的:(Atcoder题解)