[题目描述]:

给出一个 \(n×m\) 大小的矩形,每个位置可以填上$ [1,c]$中的任意一个数,要求填好后任意两行互不等价且任意两列互不等价,两行或两列等价当且仅当对应位置完全相同,求方案数 。

\(n,m\le 5000\)

确实是一道神仙题。

对这种行列都有限制的题我们可以先只考虑一边。

我们先只考虑让行之间互不等价,一个\(n行m列\)且行互不等价的矩形的方案数为\((C^m)^{\underline{n}}\)。

我们设\(g(m)\)表示行互不等价的情况下,\(m\)列的矩形的方案数。\(g(m)=(C^m)^{\underline{n}}\)。

我们设\(f(m)\)表示行和列都分别互不等价的情况下,\(m\)列的矩形的方案数,也就是我们要的答案。

则:
\[ g(m)=\sum\limits_{i=0}^m\begin{Bmatrix}m\\i \end{Bmatrix}f(i) \]
这个式子的意义就是我们枚举\(m\)列分成了\(i\)个互不等价的集合,再将这\(m\)列分配到这些集合中去。

由斯特林反演得到:
\[ f(m)=\sum\limits_{i=0}^m(-1)^{m-i}\begin{bmatrix}m\\i \end{bmatrix}g(i) \]
于是我们就可以\(O(n^2)\)计算了。

代码:

#include<bits/stdc++.h>
#define ll long long
#define mod 1004535809
#define N 5005using namespace std;
inline int Get() {int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9') {if(ch=='-') f=-1;ch=getchar();}while('0'<=ch&&ch<='9') {x=(x<<1)+(x<<3)+ch-'0';ch=getchar();}return x*f;}int T;
ll n,m,c;
ll s1[N][N],g[N];
int main() {s1[0][0]=1;for(int i=1;i<=5000;i++)for(int j=1;j<=5000;j++)s1[i][j]=(s1[i-1][j-1]+(i-1)*s1[i-1][j])%mod;T=Get();while(T--) {n=Get(),m=Get(),c=Get();g[0]=1;for(int i=1;i<=m;i++) g[i]=g[i-1]*c%mod;ll ans=0;int flag=m&1?1:-1;for(int i=1;i<=m;i++,flag*=-1) {ll now=1;for(int j=1;j<=n;j++) now=now*(g[i]-j+1+mod)%mod;(ans+=flag*s1[m][i]*now%mod+mod)%=mod;}cout<<ans<<"\n";}return 0;
}

转载于:https://www.cnblogs.com/hchhch233/p/10016522.html

[2018雅礼集训1-16]方阵相关推荐

  1. Loj #6503. 「雅礼集训 2018 Day4」Magic

    Loj #6503. 「雅礼集训 2018 Day4」Magic 题目描述 前进!前进!不择手段地前进!--托马斯 · 维德 魔法纪元元年. 1453 年 5 月 3 日 16 时,高维碎片接触地球. ...

  2. LibreOJ 6514. 「雅礼集训 2018 Day10」文明【虚树+LCA】

    6514. 「雅礼集训 2018 Day10」文明 [题目描述] 传送门 [题解] 考虑笨蛋的写法,可以用LCA求出1号和其他点的中点,然后DFS搜索Size大小即可,但是,复杂度显然要炸,但是我们会 ...

  3. #6034. 「雅礼集训 2017 Day2」线段游戏 李超树

    #6034. 「雅礼集训 2017 Day2」线段游戏 内存限制:256 MiB时间限制:1000 ms标准输入输出 题目类型:传统评测方式:Special Judge 上传者: 匿名 提交提交记录统 ...

  4. 数据结构二之线段树Ⅱ——KiKi‘s K-Number,ball,The Child and Sequence,「雅礼集训 2017 Day1」市场,Atlantis

    值域线段树+势能线段树+扫描线 KiKi's K-Number ball The Child and Sequence 「雅礼集训 2017 Day1」市场 Atlantis KiKi's K-Num ...

  5. [LOJ 6042]「雅礼集训 2017 Day7」跳蚤王国的宰相(树的重心+贪心)

    [LOJ 6042]「雅礼集训 2017 Day7」跳蚤王国的宰相 description solution 一个到所有节点距离和最小的节点 ⇔\Leftrightarrow⇔ 树的重心(满足最重的儿 ...

  6. #6029. 「雅礼集训 2017 Day1」市场(势能,区间除)

    #6029. 「雅礼集训 2017 Day1」市场 用线段树维护数列,区间上维护最大最小值,区间和还有标记,修改时,区间加直接做,而区间除时,递归到线段树上某一区间,如果这一操作等价于区间加(也就是最 ...

  7. 2017国庆 雅礼集训 题解合集

    D1 D1 T1:Clique: 我做的题太少啦,这都没看出来.首先,这个式子是 c[i]−c[j]>=dis(i,j) c[i]-c[j] >= dis(i,j),即在数轴上这样的圆,如 ...

  8. loj #6046. 「雅礼集训 2017 Day8」爷

    #6046. 「雅礼集训 2017 Day8」爷 题目描述 如果你对山口丁和 G&P 没有兴趣,可以无视题目背景,因为你估计看不懂 -- 在第 63 回战车道全国高中生大赛中,军神西住美穗带领 ...

  9. 雅礼集训及WC2018划水记

    雅礼集训1.30~2.3 noip考成250,没得去thuwc和pkuwc,和czy等去参加本来只有samjia和栋栋的集训队模拟.抱着被虐的心态去比赛. 第一天刚到比较困,比赛有点没精神,看到t3的 ...

最新文章

  1. [云炬小程序实战笔记] 第1章 全新版:初识微信小程序
  2. HDU 1561 The more, The Better
  3. zookeeper -- 第四章 zookeeper watcher讲解
  4. 学python五大理由_学习Python的五大理由
  5. 天池 在线编程 插入五
  6. 【python】sys.stdout输出不换行
  7. C#快速找出磁盘内的所有文件
  8. Java电子书平滑翻页效果_(转载)Android 平滑和立体翻页效果1
  9. 对 *.google.com/* 产品进行大规模的 CSRFing 研究,意外获得3万美元奖金
  10. poj 1655 Balancing Act(求树的重心)
  11. dwcs6连接不上access数据库_dw连接access数据库的技巧
  12. python转换 vcf到csv 小米通信录
  13. vlan间路由详细实验步骤
  14. Axure 获取焦点
  15. opencv Mat 16位unsigned数据显示为黑色
  16. 物联网技术目前存在的问题
  17. 教学设计-饭后百步走
  18. c字打头的语言英语单词,C字开头的励志的英文单词要C字开头的~例如Champion,Confidence,...-c英语开头名词-英语-柯拿拷同学...
  19. Profinet协议解析-过程数据
  20. php-Study1

热门文章

  1. python 30分钟_Python 30分钟入门指南
  2. nubby mysql_mysql修改用户密码
  3. python列表做参数传值_python不定参数传值怎么做-问答-阿里云开发者社区-阿里云...
  4. matlab decomposition filters,MATLAB小波去噪求助(附算法和显示图片)!不知自己哪个地方出了问题,求指点! - 信息科学 - 小木虫 - 学术 科研 互动社区...
  5. 职称计算机word模拟题,2015职称计算机考试Word2003模拟题及答案
  6. Arduino IDE增加ATmega32开发选项遇到的问题
  7. 清华校庆正当时,智能小车决赛日
  8. 2021年春季学期-信号与系统-第四次作业参考答案-第十二小题
  9. MAX9814高性能麦克风
  10. python操作html5日期控件_python、js 时间日期模块time