码迷,mamicode.com
首页 > 其他好文 > 详细

记一道好VAN的数学题

时间:2020-04-12 16:33:55      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:inf   class   如何   mamicode   image   转化   ima   inline   个人   

技术图片

2020.4.12 Solution

首先发掘几个性质:

  • \(99\) 个点可以分成 \(33\) 组,每组中个\(3\) 个点组成等边三角形。两两端点相差 \(33\) 条弧。

  • 任意状态下,已经染完色的点是连续的链,并且上次染的色一定是左右两个端点(只能染相邻的)

  • 奇数次操作是甲操作的,偶数次操作是乙操作的。(显然)

然后考虑是否能让乙无论如何都能构造出一个等色等边三角形出来。

考虑当第 \(34\) 步时,左端点和右端点距离\(33\)段弧,与他们同时相距 \(33\) 步的点 \(z\),可以构成一个等边三角形。因为偶数步是乙操作的,所以乙必然能使左右端点颜色一致(他染的跟之前的一致即可)。

然后问题就变成了乙是否能顺利染到点 \(z\)

考虑当前到左右端点到点 \(z\) 是两条长度为 \(33\) 路,所以问题转化为了:

  • 两个变量 \((x, y)\),初始都是 \(0\)
  • 甲先操作,乙后操作。两个人轮流可以让 \(x\)\(y\) 中的其一 \(+1\)
  • 问乙是否能先加到 \(33\)(他操作完之后)

然后我们发现是必然的。

首先甲操作第一步状态肯定变成 \((0, 1)\)(剩下是对称的)

然后乙变成这样 \((1, 1)\)

第二步状态肯定变成 \((2, 1)\)(剩下是对称的)

然后乙变成这样 \((2, 2)\)

以此类推,每次乙都操作甲没操作的那边,让 \(x = y\)

因为每轮过后 \(x + 1, y + 1\)

当甲迫不得已让 \(x, y\) 中的一个变成 \(32\) 后,乙恶人先出手,直接把他加到 \(33\) 即可。

(这是一种猥琐的思想,简称敌不动我不动)

记一道好VAN的数学题

标签:inf   class   如何   mamicode   image   转化   ima   inline   个人   

原文地址:https://www.cnblogs.com/dmoransky/p/12685758.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!