设 \(f_{i,j}\) 为恰好 \(i\) 行 \(j\) 列不满足条件的矩阵个数, \(g_{i,j}\) 为钦定 \(i\) 行 \(j\) 列不满足条件的矩阵个数。

容易得到:

\[g_{x,y}=\binom n x \binom n y (k-1)^{n^2-(n-x)(n-y)}k^{(n-x)(n-y)}
\]
\[g_{x,y}=\sum_{i=x}^n\sum_{j=y}^n\binom i x\binom j y f_{i,j}
\]

根据二元二项式反演有:

\[f_{x,y}=\sum_{i=x}^n\sum_{j=y}^n\binom i x\binom j y(-1)^{i+j-x-y}g_{i,j}
\]

我们要求的是 \(f_{0,0}\),也就是:

\[\sum_{i=0}^n\sum_{j=0}^n\binom i 0\binom j 0\binom n i\binom n j(-1)^{i+j}(k-1)^{n^2-(n-i)(n-j)}k^{(n-i)(n-j)}
\]
\[\sum_{i=0}^n\sum_{j=0}^n\binom n i\binom n j(-1)^{i+j}(k-1)^{n^2-n^2+ni+nj-ij}k^{n^2-ni-nj+ij}
\]
\[k^{n^2}\sum_{i=0}^n\sum_{j=0}^n\binom n i\binom n j(-1)^{i+j}(\frac {k-1} k)^{ni+nj-ij}
\]

为了方便,以下设 \(a=\frac {k-1} k\)。

做法1

有 \(ij=\binom {i+j} 2-\binom i 2-\binom j 2\),所以:

\[k^{n^2}\sum_{i=0}^n\sum_{j=0}^n\binom n i\binom n j(-1)^{i+j}a^{ni+nj-\binom {i+j} 2+\binom i 2+\binom j 2}
\]
\[k^{n^2}n!^2\sum_{i=0}^n\sum_{j=0}^n\frac 1 {i!(n-i)!}\frac 1 {j!(n-j)!}(-1)^{i+j}a^{ni+nj-\binom {i+j} 2+\binom i 2+\binom j 2}
\]

设:

\[F_i=\frac {(-1)^ia^{ni+\binom i 2}} {i!(n-i)!}
\]
\[G_x=\sum_{i=0}^xF_i \times F_{x-i}
\]

答案即为:

\[k^{n^2}n!^2\sum_{i=0}^{2n}G_i \times a^{-\binom i 2}
\]

然后我们有 \(a^{\binom n 2}= \prod_{i=1}^{n-1}a^i\),可以线性递推 \(a^{ni}\) 和 \(a^{\binom i 2}\)。

使用 MTT 计算 \(G\) 即可 \(O(\log mod+n\log n)\) 计算答案。

做法2

\[k^{n^2}\sum_{i=0}^n\sum_{j=0}^n\binom n i\binom n j(-1)^{i+j}a^{ni+(n-i)j}
\]
\[k^{n^2}\sum_{i=0}^n\binom n i(-1)^ia^{ni}\sum_{j=0}^n\binom n j(-1)^ja^{(n-i)j}
\]
\[k^{n^2}\sum_{i=0}^n\binom n i(-1)^ia^{ni}(1-a^{n-i})^n
\]
\[k^{n^2}\sum_{i=0}^n\binom n i(-1)^i(a^i-a^n)^n
\]

预处理 \(a^1 \sim a^n\) 即可 \(O(n\log n+\log mod)\)。

CF1228E题解的更多相关文章

  1. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  2. noip2016十连测题解

    以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...

  3. BZOJ-2561-最小生成树 题解(最小割)

    2561: 最小生成树(题解) Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1628  Solved: 786 传送门:http://www.lyd ...

  4. Codeforces Round #353 (Div. 2) ABCDE 题解 python

    Problems     # Name     A Infinite Sequence standard input/output 1 s, 256 MB    x3509 B Restoring P ...

  5. 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解

    题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...

  6. 2016ACM青岛区域赛题解

    A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Jav ...

  7. poj1399 hoj1037 Direct Visibility 题解 (宽搜)

    http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...

  8. 网络流n题 题解

    学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...

  9. CF100965C题解..

    求方程 \[ \begin{array}\\ \sum_{i=1}^n x_i & \equiv & a_1 \pmod{p} \\ \sum_{i=1}^n x_i^2 & ...

随机推荐

  1. 使用CAShapeLayer做出圆形的进度条 —— #DF!

    CircleView.h的内容如下: #import <UIKit/UIKit.h> @interface CircleView : UIView @property (nonatomic ...

  2. Netty入门使用教程

    原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11827026.html 本文介绍Netty的使用, 结合我本人的一些理解和操作来快速的让初学者 ...

  3. LNMP平台的redis对接安装

    LNMP平台的redis对接安装 目录 LNMP平台的redis对接安装 一.安装LNMP的各个组件 二.安装redis服务 三.安装redis扩展 四.修改php配置文件 五.测试连接 一.安装LN ...

  4. Spark算子 - aggregate

    释义 将每个partition内元素进行聚合,然后将每个partition的聚合结果进行combine,得到最终聚合结果.最终结果允许跟原始RDD类型不同 方法签名如下: def aggregate[ ...

  5. SQLServer误删ReportServerTempDB导致打不开其他库——解决方案

    无意间删除了ReportServerTempDB库和ReportServer 导致其他库连接不上 错误:报表服务器无法打开与报表服务器数据库的连接.所有请求和处理都要求与数据库建立连接. 解决方案: ...

  6. P3400【仓鼠窝 】

    思路清奇,代码简洁的好题 问题大体分两部: 记录子矩阵个数,统计每一个点作为右下角时可以得到多少矩形,加起来就是答案 剪掉墙挡住的地方 考虑从右下角开始,如果有0已经挡住了矩阵,那么更靠左.上的0都卵 ...

  7. Keras学习:试用卷积-训练CIFAR-10数据集

    import numpy as np import cPickle import keras as ks from keras.layers import Dense, Activation, Fla ...

  8. 我们一起来学Shell - shell的并发及并发控制

    文章目录 bash的并发 未使用并发的脚本 简单修改 使用wait命令 控制并发进程的数量 文件描述符 查看当前进程打开的文件 自定义当前进程用描述符号操作文件 管道 我们一起来学Shell - 初识 ...

  9. php异步:在php中使用fsockopen curl实现类似异步处理的功能方法

    PHP从主流来看,是一门面向过程的语言,它的最大缺点就是无法实现多线程管理,其程序的执行都是从头到尾,按照逻辑一路执行下来,不可能出现分支,这一点是限制php在主流程序语言中往更高级的语言发展的原因之 ...

  10. HTML5/CSS3/JS笔记

    HTML笔记: 前言: HTML无非就是围绕标签.属性.属性值这三个词展开的. (标签也可以叫做元素, 元素的内容是开始标签与结束标签之间的内容) *常规标签 <标签 属性1="属性值 ...