BZOJ 1004
一道奇怪的数学题。为了这道题我看了很多题解,到底还是一知半解。。整个感觉就是上了一场数学课。
HNOI2008 Cards
题目描述
题目输入
题目输出
样例
Input
--------------------------------------
1 1 1 2 7
2 3 1
3 1 2 Output
--------------------------------------
2
题解部分
群
群是一种数学结构,可以理解为一个集合 S 和一个双目运算符 + 的二元组(S,+)
需要满足以下条件: 1. 对于任何两个 S 中的元素,姑且记为 E1 和 E2 , E1 + E2 = E3 ,则 E3 也是 S 中的元素。
(比如说有理数集 R 与乘法运算符 × 构成了一个群,记为 (R,×), 任意两个有理数相加和都是有理数)
2. 结合律。回想一下,a+(b+c)=(a+b)+c,这就是结合律。
3. 单位元。设 (S,+) 的单位元为 U ,那么对于所有 S 中的 E1 , 有 E1 + U = U + E1 = E1 //这显然对于整数集有些奇怪,按照定义这里的 U = 0 。但是这里的符号 + 只是一个双目运算符的象征。
4. 逆元。回想一下同余中的 $aa^{-1}\equiv 1 \pmod{p}$ (公式请自行脑补) 。这里的$a^{-1}$被称为是a酱模p酱下的逆元。 由于为了区分,我用了+来标记。事实上一般的,我们写作(S,*)运算简写为ab 这时我们再来看题目。
我们可以将每一种洗牌法定义为一个集合P中的元素E。 我们用一种表示法表示这些元素,比如样例中的第一种洗牌法为 |1 2 3|
E1=| |
|2 3 1| 第二种 |1 2 3|
E2=| |
|3 1 2|
这时通过置换运算*(即为先置换元素再连接置换操作),有
E1E2=
|1 2 3||1 2 3| |1 2 3||2 3 1| |1 2 3|
| || |=| || |=| |
|2 3 1||3 1 2| |2 3 1||1 2 3| |1 2 3| 注意 |1 2 3|
| | 是单位元
|1 2 3| 那么E1^{-1}=E2. 通过这些初步了解,我们发现,置换操作和这个集合的性质可以很方便的定义为一个群,即置换群 (P,*) 。 关于置换群: Wikipedia =>
=================================================
循环 对于置换群中的一个元素E,它是由一些循环组成的。
这里的循环指的是,我们的一种洗牌法将一个位置上的东西变换到另外一个位置上时,其中几个东西之间的置换路径形成了环。 比如对于E1,
1->2,2->3,3->1,我们记该变换为(123),即(123)一个循环
萌萌哒单位元酱的循环是
1->1,2->2,3->3,那么就记为(1)(2)(3),表示1一个循环,依此类推
=================================================
等价类 一个等价类F即是题目中所描述,通过一些(P,*)中的置换E是可以达到相同的样子的排列Kn的一堆。他们自己构成了一个(子)群。
题目的意图,就是求F的数目
=================================================
Burnside 引理 用|S|表示集合S中元素的个数,X〰G表示集合X在置换群G的作用下的等价类的集合。X^g表示在g作用下X中不变元素的个数。
1 / g \
|X〰G|=---- SUM | |X ||
|G| g of G \ /
=================================================
恩先写这些吧。。基本可以脑补完了。
BZOJ 1004的更多相关文章
- [BZOJ 1004] [HNOI2008] Cards 【Burnside引理 + DP】
题目链接:BZOJ - 1004 题目分析 首先,几个定义和定理引理: 群:G是一个集合,*是定义在这个集合上的一个运算. 如果满足以下性质,那么(G, *)是一个群. 1)封闭性,对于任意 a, b ...
- bzoj 1004 [HNOI2008]Cards && poj 2409 Let it Bead ——置换群
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1004 http://poj.org/problem?id=2409 学习材料:https:/ ...
- bzoj 1004 Cards
1004: [HNOI2008]Cards Description 小春现在很清闲,面对书桌上的N张牌,他决定给每张染色,目前小春只有3种颜色:红色,蓝色,绿色.他询问Sun有 多少种染色方案,Sun ...
- BZOJ 1004: [HNOI2008]Cards
Description 给你一个序列,和m种可以使用多次的置换,用3种颜色染色,求方案数%p. Sol Burnside定理+背包. Burnside定理 \(N(G,\mathbb{C})=\fra ...
- [bzoj 1004][HNOI 2008]Cards(Burnside引理+DP)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1004 分析: 1.确定方向:肯定是组合数学问题,不是Polya就是Burnside,然后题目上 ...
- BZOJ 1004 Cards(Burnside引理+DP)
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1004 题意:三种颜色的扑克牌各有Sr,Sb,Sg张.给出m种置换.两种染色方案在某种置换 ...
- bzoj 1004 1004: [HNOI2008]Cards burnside定理
1004: [HNOI2008]Cards Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1668 Solved: 978[Submit][Stat ...
- BZOJ 1004: [HNOI2008]Cards( 置换群 + burnside引理 + 背包dp + 乘法逆元 )
题意保证了是一个置换群. 根据burnside引理, 答案为Σc(f) / (M+1). c(f)表示置换f的不动点数, 而题目限制了颜色的数量, 所以还得满足题目, 用背包dp来计算.dp(x,i, ...
- BZOJ 1004 HNOI2008 Cards Burnside引理
标题效果:特定n张卡m换人,编号寻求等价类 数据保证这m换人加上置换群置换后本身构成 BZOJ坑爹0.0 条件不那么重要出来尼玛怎么做 Burnside引理--昨晚为了做这题硬啃了一晚上白书0.0 都 ...
- bzoj 1004 Cards 组合计数
这道题考察的是组合计数(用Burnside,当然也可以认为是Polya的变形,毕竟Polya是Burnside推导出来的). 这一类问题的本质是计算置换群(A,P)中不动点个数!(所谓不动点,是一个二 ...
随机推荐
- EF,MVC相关项目请参见→
End_Test和YM_EF抽象工厂 这两个项目
- java核心数据结构总结
JDK提供了一组主要的数据结构的实现,如List.Set.Map等常用结构,这些结构都继承自java.util.collection接口. List接口 List有三种不同的实现,ArrayList和 ...
- iOS开发小技巧--边接受数据边写入文件的两种方法
一.NSFileHanle 使用注意点:在往文件写入数据时,必须创建一个空的文件 指定文件写入的方式 -- 覆盖还是追加 最后记得关闭 <1>代码是在大文件传输的练习中截取的.写入数据之前 ...
- iOS边练边学--iOS中的XML数据解析
XML的解析方式 SAX 大小文件都可以 NSXMLParser DOM 最好是小文件 GDataXML NSXMLParser的用法 创建解析器来解析 // 创建XML解析器 NSXMLParser ...
- 字符串转json
function str2json(str) { var arr = str.split('.'), json = {}, _this = json; if (!json[arr[0]]) json[ ...
- iOS关于rar解压第三方库Unrar4iOS使用总结
作者最近的公司项目要做实现rar解压的功能,在网上找了很久貌似关于rar解压的资料很少,不过有很多人推荐一个名叫“Unrar4iOS”的第三方开源框架,于是下载并尝试使用发现该开源框架并在使用过程中发 ...
- Blog Explanation
有疑问或blog中说明错误的欢迎评论或联系QQ:30056882,邮箱BLADEVIL@outlook.com.本人水平不高,欢迎讨论问题. blog中所有随笔均为原创,转载请注明来源. (已退役.)
- SQLServer错误:过程 sp_addextendedproperty,第 xxx 行对象无效。'dbo.xxx.xxx' 不允许有扩展属性,或对象不存在。
上传数据库到虚拟主机,在执行SQL脚本的时候出现以下的错误: 消息 15135,级别 16,状态 8,过程 sp_addextendedproperty,第 37 行 对象无效.'dbo.Messag ...
- Recon-Erlang线上系统诊断工具
Erlang系统素以稳定可靠闻名,但是它也是c实现的,也是要管理比如内存,锁等等复杂的事情,也会出现Crash,而且crash的时候大部分原因是因为内存问题.为此erlang运行期提供了强大的自省机制 ...
- mysql 高级查询
高级查询:1.连接查询select * from Info,Nation #这是两个表名,中间用逗号隔开形成笛卡尔积select * from Info,Nation where Info.natio ...