• 数论——置换


    今天学习了一下上次集训讲的置换,当时没懂,这个东西确实难理解。。。我看了《算法竞赛入门经典训练指南》,才勉强明白一点基础。。。

    学习置换之前先要理解群论:

    给定一个集合G={a,b,c…}和集合G上的一个二元计算*,满足以下四个条件:
    (1)封闭性
    若a,b∈G,则存在唯一确定的c∈G,使得a*b=c;
    (2)结合律成立
    任意a,b,c∈G,有(a*b)* c=a* (b*c);
    (3)单位元存在
    存在e∈G,对任意a∈G,满足a*e=e*a=a,称e为单位元,也称幺元;
    (4)逆元存在
    任意a∈G,存在唯一确定的b∈G, a*b=b*a=e(单位元),则称a与b互为逆元素,简称逆元,记作a^(-1)=b.
    
    通常称G上的二元运算*为“乘法”,称a*b为a与b的积,并简写为ab.
    若群G中元素个数是有限的,则G称为有限群。否则称为无限群。有限群的元素个数称为有限群的阶。
    

     了解群论之后才进行初步置换。

    先举个例子:

    表示1被1到n中的某一个数a1取代,2被1到n中的某一个数a2取代,直到n被1到n中的某一个数an取代,且a1到an各不相同 置换群
    置换群的元素是置换,运算的置换的连接

    还可以进行拆分:

    其实就是几个元素进行轮换。

    例题:

    等价类计数问题
    有这样一个经典问题,给2*2方格中涂黑白两色,有几种方案
    Ans.16

    但是如果定义一种“旋转操作”,规定逆时针旋转90°,180°,270°后相同的方案算作一种,
    那么答案就变成6种了

     这类问题被称作是等价类计数问题
    也就是说,题目中会定义一种等价关系,满足等价关系的元素被看做是同一类

    对于一个置换f,若一个方案经过置换后不变,称s为f的不动点
    将f的不动点的数目记为C(f),则有
           Burnside 定理
    等价类数目为所有C(f)的平均值
    

    例如在本题中,
    “逆时针旋转180°”的不动点:

    这里写图片描述
    “逆时针旋转90°”的不动点:

    这里写图片描述
    “逆时针旋转270°”的不动点:

    这里写图片描述
    “逆时针旋转0°”的不动点:

    这里写图片描述

    根据Burnside引理,答案是(16+2+2+4)/4=6

  • 相关阅读:
    看《环太平洋》归来
    在Fedora8上安装MySQL5.0.45的过程
    在Win7上安装MySql5.2遇到Write configuration file的解决
    每一个问题都是一把锁
    Fedora8上Apache Httpd与Tomcat6初集成
    在Fedora8上的Tomcat上deploy一个war
    在Fedora8上配置Tomcat6.0.37
    在Fedora8上配置Apache Httpd
    在Fedora8上安装jdk-7u25-linux-i586.rpm的步骤
    Java继承中的几道面试题
  • 原文地址:https://www.cnblogs.com/DukeLv/p/9410742.html
Copyright © 2020-2023  润新知