bzoj1004 card
明知是burnside然而根本不会然后无耻地颓了题解后一脸傻气的我:
直接套公式???为啥方案数==等价类数量啊???
skyh:显然啊(狂笑)(hey wxy!他问为啥方案书等于等价类数量!)
wxy:显然啊
我:???
先不说为什么着色方案等于等价类的数量。先读题
经过观察,题目给出的表面上是牌与牌间的映射操作
初步理解:一种着色方案下,牌组不断洗牌会出现多种颜色状态
以上颜色状态之间相互变化只需要1次操作
不同方案下,以上颜色状态不会重复
如果把牌看作元素,那么一个映射操作就是改变了牌的顺序,调换了一些牌的颜色
所以一张牌就是元素,置换给了,求牌的互相到达的组数就好了
我们看到这种 映射操作 满足单位元、逆元、封闭性、结合律,那么这些操作很可能构成了置换群
如果它们是置换群的话,我们可以想到它们对牌进行了操作,但是却在不同的颜色状态之间建立了相互转化的关系
回到初步理解:一种染色方案合法,必须满足它生成的颜色状态(们)在任何映射操作下封闭互化(能且仅能互相到达)
(像不像等价类)
所以如果把题意再抽象一层...
define:元素:颜色状态,理由是映射操作使颜色状态具有了互化关系
置换:映射操作造成的互化关系
置换群:所有互化关系
等价类:可以相互转化的颜色状态,一组等价类对应一种染色方案
置换的不动点数量:在一个置换下,一个颜色状态中循环变化的一些牌可以是不动的,循环就是不动点。但是循环(们)真正对答案的贡献不是他们的量,而是他们内部选择同一种颜色,总体满足题目颜色要求的方案数(不是染色方案,而是在一个置换下,不会随此置换改变的 符合题目要求的 颜色状态数)
(<-- dp)
搞懂了才能心安理得的套公式。
bzoj1004 card的更多相关文章
- 【bzoj1004】 HNOI2008—Cards
http://www.lydsy.com/JudgeOnline/problem.php?id=1004 (题目链接) 题意 n张卡片,染成3种颜色,每种颜色只能染固定张数.给出一些洗牌方案,问染色方 ...
- Lesson 3 Please send me a card
Text Postcards always spoil my holidays. Last summer, I went to Italy. I visited museums and sat in ...
- iOS - Card Identification 银行卡号识别
1.CardIO 识别 框架 GitHub 下载地址 配置 1.把框架整个拉进自己的工程,然后在 TARGETS => Build Phases => Link Binary With L ...
- HDOJ 4336 Card Collector
容斥原理+状压 Card Collector Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/O ...
- Opensuse enable sound and mic card
Install application pavucontrol Run pavucontrol You will see the configuration about sound card and ...
- 进监狱全攻略之 Mifare1 Card 破解
补充新闻:程序员黑餐馆系统 给自己饭卡里充钱 ,技术是双刃剑,小心,小心! 前言 从M1卡的验证漏洞被发现到现今,破解设备层出不穷,所以快速傻瓜式一键破解不是本文的重点,年轻司机将从本文中获得如下技能 ...
- Card(bestcoder #26 B)
Card Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- [OpenJudge 3061]Flip The Card
[OpenJudge 3061]Flip The Card 试题描述 There are N× Ncards, which form an N× Nmatrix. The cards can be p ...
- [杂谈]交通工具orca card
How and Where to Use the ORCA Card The Microsoft ORCA card provides unlimited rides on all buses, tr ...
随机推荐
- 每个新手程序员都必须知道的Python技巧
当下,Python 比以往的任何时候都更加流行,人们每天都在实践着 Python 是多么的强大且易用. 我从事 Python 编程已经有几年时间了,但是最近6个月才是全职的.下面列举的这些事情,是我最 ...
- .NET LINQ分析AWS ELB日志避免996
前言 小明是个单纯的.NET开发,一天大哥叫住他,安排了一项任务: "小明,分析一下我们超牛逼网站上个月的所有AWS ELB流量日志,这些日志保存在AWS S3上,你分析下,看哪个API的响 ...
- 线段树区间取max区间查询
要线段树资瓷区间max和询问区间和. 设要把$[L, R]$对mx取max. 我们可以在线段树上二分出小于mx的区间然后变成区间修改了. 具体实现是,维护区间最小值和区间最大值,我们递归进入一个区间, ...
- [LUOGU1437] 敲砖块
题目描述 在一个凹槽中放置了 n 层砖块.最上面的一层有n 块砖,从上到下每层依次减少一块砖.每块砖 都有一个分值,敲掉这块砖就能得到相应的分值,如下图所示. 14 15 4 3 23 33 33 7 ...
- React学习系列之(1)简单的demo(React脚手架)
1.什么是React? React是一个一个声明式,高效且灵活的用于构建用户界面的JavaScript库.React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站,并于 ...
- python 之 pygame
学习pygame如果不了解pygame是什么的可以产考百度或者去官网去看介绍pygame急忙趁着三分的热度,整理一下关于pygame的相关内容,顺便复习一下Markdown编辑器 pygame的介绍 ...
- 百万年薪python之路 -- 前端CSS基础介绍
一. CSS介绍 CSS定义 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素,给HTML设置样式,让它更加美观. 语法结构 div{ color: green ...
- Spring Boot 2.X(十二):定时任务
简介 定时任务是后端开发中常见的需求,主要应用场景有定期数据报表.定时消息通知.异步的后台业务逻辑处理.日志分析处理.垃圾数据清理.定时更新缓存等等. Spring Boot 集成了一整套的定时任务工 ...
- 用Python将处理数据得到的csv文件分类(按顺序)保存
用Python中的os和numpy库对文件夹及处理数据后得到的文件进行分类保存: import numpy as np import os for m in range(699,0,-35): cur ...
- Element filtername is not allowed here-web.xml version="3.0"-intellij idea
Element filtername is not allowed here-web.xml version="3.0"-intellij idea Intellij IDEA 报 ...