群论第一题。

发现这题也是有颜色个数限制的,所以不能用$Polya$,只能用$Burnside$

$L={\frac{1}{|G|}}{\sum_{i=1}^{m}{D(a_{i})}}$

先$dfs$出每个循环节长度,每个循环节颜色需要一样,$dp$就好了。

 #include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
#define N 105
using namespace std;
int n,m,mod,na,nb,nc,nn,ans;
int num[N],sum[N],f[N][N][N],fa[N],fac[N];
bool vis[N];
void dfs(int x,int now){
vis[x]=;num[now]++;
if(!vis[fa[x]])dfs(fa[x],now);
}
int qp(int a,int b){
int c=;
while(b){
if(b&)c=c*a%mod;
a=a*a%mod;b>>=;
}
return c;
}
int C(int a,int b){
if(b<||b>a)return ;
if(!b||a==b)return ;
return fac[a]*qp(fac[b],mod-)%mod*qp(fac[a-b],mod-)%mod;
}
int main(){
scanf("%d%d%d%d%d",&na,&nb,&nc,&m,&mod);
n=na+nb+nc;
fac[]=;
for(int i=;i<=;i++)fac[i]=fac[i-]*i%mod;
for(int t=;t<=m;t++){
for(int i=;i<=n;i++)
scanf("%d",&fa[i]);
memset(vis,,sizeof vis);
memset(num,,sizeof num);
memset(f,,sizeof f);
nn=;
for(int i=;i<=n;i++)
if(!vis[i]){
dfs(i,++nn);
sum[nn]=sum[nn-]+num[nn];
}
f[][][]=;
for(int i=;i<=nn;i++){
for(int j=;j<=na;j++){
if(j>sum[i-])break;
for(int k=;k<=nb;k++){
if(j+k>sum[i-])break;
int l=sum[i-]-j-k;
if(l>nc)break;
if(j+num[i]<=na)f[i][j+num[i]][k]+=f[i-][j][k];
if(k+num[i]<=nb)f[i][j][k+num[i]]+=f[i-][j][k];
if(l+num[i]<=nc)f[i][j][k]+=f[i-][j][k];
}
}
}
ans+=f[nn][na][nb];
}
(ans+=C(n,na)*C(n-na,nb))%=mod;
(ans*=qp(m+,mod-))%=mod;
printf("%d\n",ans);
return ;
}

bzoj [HNOI2008]Cards的更多相关文章

  1. bzoj 1004 1004: [HNOI2008]Cards burnside定理

    1004: [HNOI2008]Cards Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1668  Solved: 978[Submit][Stat ...

  2. BZOJ 1004: [HNOI2008]Cards( 置换群 + burnside引理 + 背包dp + 乘法逆元 )

    题意保证了是一个置换群. 根据burnside引理, 答案为Σc(f) / (M+1). c(f)表示置换f的不动点数, 而题目限制了颜色的数量, 所以还得满足题目, 用背包dp来计算.dp(x,i, ...

  3. 【BZOJ 1004】 1004: [HNOI2008]Cards (置换、burnside引理)

    1004: [HNOI2008]Cards Description 小春现在很清闲,面对书桌上的N张牌,他决定给每张染色,目前小春只有3种颜色:红色,蓝色,绿色.他询问Sun有多少种染色方案,Sun很 ...

  4. bzoj 1004 Cards

    1004: [HNOI2008]Cards Description 小春现在很清闲,面对书桌上的N张牌,他决定给每张染色,目前小春只有3种颜色:红色,蓝色,绿色.他询问Sun有 多少种染色方案,Sun ...

  5. 【bzoj1004】[HNOI2008]Cards

    1004: [HNOI2008]Cards Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2928  Solved: 1754[Submit][Sta ...

  6. 【BZOJ1004】[HNOI2008]Cards Burnside引理

    [BZOJ1004][HNOI2008]Cards 题意:把$n$张牌染成$a,b,c$,3种颜色.其中颜色为$a,b,c$的牌的数量分别为$sa,sb,sc$.并且给出$m$个置换,保证这$m$个置 ...

  7. 洛谷 P1446 [HNOI2008]Cards 解题报告

    P1446 [HNOI2008]Cards 题目描述 小春现在很清闲,面对书桌上的\(N\)张牌,他决定给每张染色,目前小春只有\(3\)种颜色:红色,蓝色,绿色.他询问Sun有多少种染色方案,Sun ...

  8. luogu P1446 [HNOI2008]Cards

    题目链接 luogu P1446 [HNOI2008]Cards 题解 题意就是求染色方案->等价类 洗牌方式构成成了一个置换群 然而,染色数限制不能用polay定理直接求解 考虑burnsid ...

  9. bzoj1004 [HNOI2008]Cards 置换群+背包

    [bzoj1004][HNOI2008]Cards 2014年5月26日5,3502 Description 小春现在很清闲,面对书桌上的N张牌,他决定给每张染色,目前小春只有3种颜色:红色,蓝色,绿 ...

随机推荐

  1. 修改 CKEditor 超链接的默认协议

    在 config.js 中添加如下代码 CKEDITOR.on( 'dialogDefinition', function( ev ) { // Take the dialog name and it ...

  2. Sending forms through JavaScript

    https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/Sending_forms_through_JavaScript As in the ...

  3. DevOps之二 Maven的安装与配置

    CentOS7 安装Maven 一.安装Maven mkdir -p /usr/local/maven3wget http://mirrors.hust.edu.cn/apache/maven/mav ...

  4. 分析DuxCms之AdminController

    /** * 后台模板显示 调用内置的模板引擎显示方法, * @access protected * @param string $templateFile 指定要调用的模板文件 * @return v ...

  5. 并发库应用之六 & 有条件阻塞Condition应用

    Condition的功能类似在传统线程技术中的 Object.wait() 和 Object.natify() 的功能,传统线程技术实现的互斥只能一个线程单独干,不能说这个线程干完了通知另一个线程来干 ...

  6. springboot中logback打印日志

    http://blog.csdn.net/fan510988896/article/details/54409790

  7. spring中jedis对redis的事务使用注意总结

    spring的@Transactional不支持redis的事务,并且redis的事务和其它关系型数据库的事务概念不是太一样,redis事务不支持回滚,并且一条命令出错后,后面的命令还会执行. 所以不 ...

  8. 【转】java中equal与==的区别 其中有个缓冲区,需要注意

    转自http://www.cnblogs.com/dolphin0520/p/3592500.html 在学Java时,可能会经常碰到下面的代码: 1 String str1 = new String ...

  9. Web开发:需收藏的JavaScript常用技巧

    原文来自:https://www.baidu.com/home/news/data/newspage?nid=4242707244478773456&n_type=0&p_from=1 ...

  10. Servlet、Filter

    加载顺序是:context-param -> listener -> filter -> servlet ,而同个类型之间的实际程序调用的时候的顺序是根据对应的 mapping 的顺 ...