传送门:http://codeforces.com/problemset/problem/997/C

【题解】

注意在把$i=0$或$j=0$分开考虑的时候,3上面的指数应该是$n(n-j)+j$

至少一行一列相同颜色,那么这些相同颜色的行列一定是同一种颜色,所以是$3^((n-i)(n-j)+1)$。

如果只有若干行相同颜色,那么这些相同颜色的行之间的颜色不一定相同,所以是$3^((n-j)j+j)$。

# include <bits/stdc++.h>
using namespace std; typedef long long ll;
const int mod = ;
const int M = 1e6 + ; int n, fac[M], inv[M]; inline int pwr(int a, int b) {
int ret = ;
while(b) {
if(b&) ret = 1ll * ret * a % mod;
a = 1ll * a * a % mod;
b >>= ;
}
return ret;
} inline int C(int n, int m) {
return 1ll * fac[n] * inv[m] % mod * inv[n-m] % mod;
} int main() {
cin >> n;
fac[] = ; inv[] = ;
for (int i=; i<=n; ++i) fac[i] = 1ll * fac[i-] * i % mod;
inv[n] = pwr(fac[n], mod-);
for (int i=n-; i>=; --i) inv[i] = 1ll * inv[i+] * (i+) % mod;
int A = , B = ;
for (int j=; j<=n; ++j) {
int tem = 1ll * C(n, j) * pwr(, (1ll * n * (n-j) + j) % (mod-)) % mod;
if(j&) B += tem;
else B -= tem;
if(B >= mod) B -= mod;
if(B < ) B += mod;
}
B <<= ;
if(B >= mod) B -= mod; int q = ;
for (int i=; i<n; ++i) {
int t = pwr(-q+mod+, n) - pwr(-q+mod, n);
if(t < ) t += mod;
if(i&) A = A + 1ll * C(n, i) * t % mod;
else A = A - 1ll * C(n, i) * t % mod;
if(A >= mod) A -= mod;
if(A < ) A += mod;
q = 3ll * q % mod;
}
A = 3ll * A % mod;
int ans = A+B;
if(ans >= mod) ans -= mod;
cout << ans; return ;
}

最新文章

  1. C#上传图片
  2. apache lucene solr 官网历史版本下载地址
  3. 《Pro AngularJS》学习小结-01
  4. java小程序
  5. TFSAPI
  6. git 添加忽略文件
  7. Ubuntu下nginx+uwsgi+flask的执行环境搭建
  8. 【ThinkingInC++】2、输入和输出流
  9. weblogic配置修改java代码后不需要重启热部署方式
  10. fir.im Weekly - 可能是 2017 最好的 Swift 学习资源
  11. Spring MVC的文件上传
  12. Wincc flexable的数据记录的组态
  13. 大话python面向对象
  14. 重写override
  15. POJ1201 Intervals(差分约束)
  16. Nginx 出现 403 Forbidden 最终解决
  17. hdu2089-不要62-(数位dp)
  18. 软工网络15团队作业4——Alpha阶段敏捷冲刺7.0
  19. Django REST framework 总结(附源码剖析)
  20. BASIC-28_蓝桥杯_Huffuman树

热门文章

  1. beta阶段博客合集
  2. mysqldumpslow 分析slow query日志和explain分析mysql查询结构
  3. 在Google Chrome中快速解除网页屏蔽鼠标右键、复制等限制
  4. PHP中测试in_array、isset、array_key_exists性能
  5. BZOJ3289 Mato的文件管理(莫队+树状数组)
  6. Intelligent Factorial Factorization LightOJ - 1035(水题)
  7. 【刷题】UOJ #207 共价大爷游长沙
  8. 【刷题】洛谷 P3834 【模板】可持久化线段树 1(主席树)
  9. BZOJ 4408: [Fjoi 2016]神秘数
  10. kafka问题集(二):__consumer_offsets topic的分区中有一个分区数据很多,多达1T