zoukankan      html  css  js  c++  java
  • 记一道好VAN的数学题

    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) 即可。

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

  • 相关阅读:
    DNS放大攻击
    Java并发编程(四):并发容器(转)
    关注商业价值
    样式小记
    应用程序优化
    查看当前的连接和锁
    重命名你的数据库
    转:对XML插入操作
    对数据的分页再一次思考
    不浪费自己的时间,同时也不浪费别人的时间
  • 原文地址:https://www.cnblogs.com/dmoransky/p/12685758.html
Copyright © 2011-2022 走看看