zoukankan      html  css  js  c++  java
  • CF1404D

    CF1404D - Game of Pairs

    题目大意

    两个人Van游戏,

    第一个人对于(1,2,cdots,2n)分成(n)

    第二个人尝试从每组中选一个数,使得选出数的和是(2n)的倍数

    你选一个人Van,然后赢了交互器


    分析

    考虑从一个(mathbb{Naive})的构造开始:

    分成(n)组,每组都是((i,n+i))

    为什么这么构造?因为每组两个数(mod n)都相同

    那么最终选出的和(Summod n=frac{n(n+1)}{2})

    观察到,在(n)为偶数时,(Sum mod n=frac{n}{2} e 0),此时必然无解

    然后我没过脑子随机化艹出了n为奇数的方案,但是没事下面有确定解法

    (n)为奇数时,我们只需要类似找到一组(mod n=0,1,2,cdots ,n-1)的方案

    此时必然满足(Summod n=0)

    这只需要对于给出的每组((a_i,b_i)),对于(a_imod n,b_imod n)连一条边

    然后在最终的置换环上进行决策即可


    然而我们需要(Summod 2n=0)

    (frac{(2n+1)2n}{2}=n(2n+1)mod 2n=n),故如果找到的(Summod 2n=n),取当前方案的补集即可

  • 相关阅读:
    模块系统
    控制结构
    基本语法
    Go-技篇第一 技巧杂烩
    微服务的4个设计原则和19个解决方案
    kcp-go源码解析
    windows.go
    服务端跨域处理 Cors
    Snowflake 全局唯一Id 生成
    面试?或许你应该这样
  • 原文地址:https://www.cnblogs.com/chasedeath/p/14819616.html
Copyright © 2011-2022 走看看