zoukankan      html  css  js  c++  java
  • CF 1368G Shifting Dominoes

    题意

    题意:
    (n imes m)的方格,用多米诺骨牌填满了,可以进行以下操作:
    拿走一个骨牌
    移动其他骨牌,但其他骨牌最终的位置必须至少与一个初始位置重合
    问能构成多少个本质不同的图,两个图不同当且仅当两个空格中的某个空格所在位置不同

    做法

    将一个多米诺骨牌描述成一对二元组
    若存在((a,b)(a,b+1)),考虑左移一位,相当于空格右移两位:((a,b-1)longrightarrow (a,b+1));右移一位同理:((a,b+2)longrightarrow (a,b))
    对于((a,b)(a+1,b))同理

    结论1:不存在环

    证明:
    若存在环,我们能证明环内部(不包括边界)点数为奇数,即内部不可能填满,故不合法
    考虑将环补成矩形,具体的,反复将凹进去的部分补成凸的,显然这样不会改变矩形内点数的奇偶性
    在补好矩阵后,容易得到矩阵的边长均为奇数,由于边界点数为偶数,故内部点数为奇数

    结论2:图为外向森林

    证明:
    由连边方式决定,每个点至多有一个入边

    结论3:相邻两个点所在弱连通图不同

    证明:
    同一弱连通图,点横坐标与纵坐标之和奇偶性相同

    将图黑白染色
    我们考虑能否释放((a_1,b_1)(a_2,b_2)),显然这两个所处的位置颜色不同,充要条件为这两个点至根有交(以多米诺骨牌作为标号)

    若我们释放了两个同一骨牌的点,可以归入一开始直接把这个骨牌拿走的情况

    问题转化为经典的矩阵并(参考IOI2018狼人)

  • 相关阅读:
    hdu Boring counting
    hdu Connections between cities
    hdu Median Filter
    hdu Entropy
    hdu Box Relations
    未能加载数据集 加载DataSet错误
    SqlServer中的datetime类型的空值和c#中的DateTime的空值的研究
    Spread.NET中文开发文档汇总
    ChartDirector资料小结
    AmCharts图表JavaScript Charts参数
  • 原文地址:https://www.cnblogs.com/Grice/p/13606506.html
Copyright © 2011-2022 走看看