SGU - 282

题解

题意:

本质不同的集合:不存在两个方案重新编号之后对应的边集相同(对于所有x,y,,(x,y)边颜色都相同)。

(1≤ N≤ 53, 1≤ M≤ 1000)

对P取模

本质不同,想到置换

置换在哪里?

就是重新编号

本质是一个n!大小的置换群

不能枚举每一个置换了,考虑对相同的置换一起处理

置换之后也要找环,所以直接枚举环的情况,处理对应这种环的组合的置换的出现次数,再处理环的组合的不动点

自然数拆分出环

环长为li,有k个,对应置换个数:

如果每一个都不同:$\frac{n!}{(l1!*l2!..lk!)}*((l1-1)!)*((l2-1)!)*((lk-1)!)$

如果

就是分配环的所属的时候,大小相同的环都是相同的。

所以再进行一次多重集合的排列。

每个置换的不动点个数:

考虑环自己内部连边的“环”个数:$1+\lfloor \frac{l-2}{2} \rfloor$

证明考虑边上相隔1一定一种,相隔若干会连出一些,手画几个

2->1

3->1

4->2

5->2

6->3

7->3

环与环之间的连边的“环”个数:$gcd(l1,l2)$

一个连边的颜色,会走$lcm(l1,l2)$才会重复,

期间l1的每个点连出去了lcm(l1,l2)/l1=l2/gcd(l1,l2)

一共连出去l2个点,每确定一个颜色就确定了l2/gcd(l1,l2)个颜色,所以共有gcd(l1,l2)个“环”

环总数tot

每个环m种颜色,m^tot即可。

1.自然数拆分+计算对应置换个数->枚举所有置换

2.每个自然数拆分计算不动点个数+再乘上对应置换个数->处理所有不动点

完毕。

SGU - 282的更多相关文章

  1. 组合计数(polya计数):SGU 282 Isomorphism

    因为论文的题解写得太好了,直接贴. #include <iostream> #include <cstring> #include <cstdio> using n ...

  2. SGU 495. Kids and Prizes

    水概率....SGU里难得的水题.... 495. Kids and Prizes Time limit per test: 0.5 second(s)Memory limit: 262144 kil ...

  3. ACM: SGU 101 Domino- 欧拉回路-并查集

    sgu 101 - Domino Time Limit:250MS     Memory Limit:4096KB     64bit IO Format:%I64d & %I64u Desc ...

  4. 【SGU】495. Kids and Prizes

    http://acm.sgu.ru/problem.php?contest=0&problem=495 题意:N个箱子M个人,初始N个箱子都有一个礼物,M个人依次等概率取一个箱子,如果有礼物则 ...

  5. SGU 455 Sequence analysis(Cycle detection,floyd判圈算法)

    题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=455 Due to the slow 'mod' and 'div' operati ...

  6. SGU 422 Fast Typing(概率DP)

    题目大意 某人在打字机上打一个字符串,给出了他打每个字符出错的概率 q[i]. 打一个字符需要单位1的时间,删除一个字符也需要单位1的时间.在任意时刻,他可以花 t 的时间检查整个打出来的字符串,并且 ...

  7. sgu 104 Little shop of flowers 解题报告及测试数据

    104. Little shop of flowers time limit per test: 0.25 sec. memory limit per test: 4096 KB 问题: 你想要将你的 ...

  8. 树形DP求树的重心 --SGU 134

    令一个点的属性值为:去除这个点以及与这个点相连的所有边后得到的连通分量的节点数的最大值. 则树的重心定义为:一个点,这个点的属性值在所有点中是最小的. SGU 134 即要找出所有的重心,并且找出重心 ...

  9. SGU 170 Particles(规律题)

    题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=170 解题报告:输入两个由'+'和'-'组成的字符串,让你判断第二个串能不能由第一个 ...

随机推荐

  1. 即刻开始使用Kotlin开发Android的12个原因(KAD 30)

    作者:Antonio Leiva 时间:Jul, 11, 2017 原文链接:https://antonioleiva.com/reasons-kotlin-android/ 这组文章已到最后了,它们 ...

  2. selenium,unittest——参数化url,并多线程加快脚本运行速度

    利用参数化连续打开网页: #encoding=utf-8import unittestimport paramunittestimport timefrom selenium import webdr ...

  3. Request对象及常用方法

    Object getAttribute(String name) 获得name的属性,若不存在,则返回null Enumeration getAttributeNames() 返回一个枚举类型的包含r ...

  4. Python数据分析基础——Numpy tutorial

    参考link  https://docs.scipy.org/doc/numpy-dev/user/quickstart.html 基础 Numpy主要用于处理多维数组,数组中元素通常是数字,索引值为 ...

  5. ubuntu samba配置注意事项

    1. 下载samba前, ubuntu镜像源需要更新为国内源,否则samba的安装会非常慢 亲测,清华的镜像源速度满足要求. A.登录 https://mirrors.tuna.tsinghua.ed ...

  6. Ubuntu—终端下重启与关机

    重启命令 :         1.shutdown -r now 立刻重启    2.shutdown -r 10 过10分钟自动重启    3.shutdown -r 20:35 在时间为20:35 ...

  7. [原创]Docker学习记录: Shipyard+Swarm+Consul+Service Discover 搭建教程

    网上乱七八糟的资料实在是太多了, 乱, 特别乱, 而看书呢, 我读了2本书, 一本叫做<>, 另一本叫做<< Docker进阶与实战>> 在 服务发现这块讲的又不清 ...

  8. HADOOP docker(七):hive权限管理

    1. hive权限简介1.1 hive中的用户与组1.2 使用场景1.3 权限模型1.3 hive的超级用户2. 授权管理2.1 开启权限管理2.2 实现超级用户2.3 实现hiveserver2用户 ...

  9. Javascript闭包演示【转】

    文章出自http://www.cnblogs.com/snandy/archive/2011/03/01/1967628.html 有个网友问了个问题,如下的html,为什么点击所有的段落p输出都是5 ...

  10. Thunder团队第六周 - Scrum会议1

    Scrum会议1 小组名称:Thunder 项目名称:i阅app Scrum Master:王航 工作照片: 参会成员: 王航(Master):http://www.cnblogs.com/wangh ...