【题解】CF997C Sky Full of Stars
【题解】CF997C Sky Full of Stars
为什么我的容斥原理入门题是这道题?????????
\(Part-1\)正向考虑
直接考虑不合法合法的方案吧
所以我们设行有\(i\),列有\(j\)有是不同的颜色
所以分这几种情况讨论:
\\
i=j=0
\\
ij=0,i+j\not=0
\]
考虑到\(i=j=0\)对答案没有贡献,所以我们考虑第一式和第三式吧
第三式简单一点,情况就是这样的:

方案数还是比较显然的(我说显然是因为是可以通过我努力思考得到,不是我可以秒杀...)
还要试推算一个容斥系数,最终就是
\]
第二式,情况就是这样的:

这种情况下,确定了一种就确定了所有颜色,枚举\(i,j\)吧
\]
然而我们需要\(O(nlogn)\)所以我们考虑对式子变形一下,把所有(部分)\(i\)提出来
\]
把\(j\)的拿出来二项式定理化一下,有些技巧性。
\\
=-3^{n(n-i)}+\Sigma_{j=0}^n C_n^j(3^{n-i})^{n-j}(-1)^j
\\
=-3^{n(n-i)}+(3^{n-i}-1)^n
\]
所以
\]
于是答案就是
\]
复杂度\(O(nlogn)\)
呼呼呼 好难QAQ
\(part-2\)反向考虑

直接蒯了,有没有发现形式很相似?数学真奇妙hhh
给\(2\)号代码吧
#include<bits/stdc++.h>
using namespace std;typedef long long ll;
#define RP(t,a,b) for(register int t=(a),edd=(b);t<=edd;++t)
#define DRP(t,a,b) for(register int t=(a),edd=(b);t>=edd;--t)
#define ERP(t,a) for(register int t=head[a];t;t=e[t].nx)
#define int long long
const int mod=998244353;
inline int ksm(int base,int p){register int ret=1;base%=mod;
for(register int t=p;t;t>>=1,base*=base,base%=mod)if(t&1) ret*=base,ret%=mod; return ret%mod;
}
const int maxn=1e6+5;
int fac[maxn];
int inv[maxn];
int ans;
int n;
inline int C(int n,int m){return (fac[n]*inv[m]%mod)*inv[n-m]%mod;}
signed main(){
#ifndef ONLINE_JUDGE
freopen("A.in","r",stdin);
freopen("A.out","w",stdout);
#endif
cin>>n;
inv[0]=fac[0]=1;
RP(t,1,n) fac[t]=fac[t-1]*t%mod,inv[t]=inv[t-1]*ksm(t,mod-2LL)%mod;
ans=ksm(3,n*n)%mod;
ans=(ans-ksm(ksm(3,n)-3LL+mod,n)+mod)%mod;
RP(t,1,n){
register int q=C(n,t)*(3LL*ksm(ksm(3,n-t)-1LL,n)%mod+(ksm(3,n*(n-t))*((ksm(3,t)-3LL+mod)%mod))%mod)%mod;
if(t&1) ans=(ans+q)%mod;
else ans=((ans-q)%mod+mod)%mod;
}
ans=(ans%mod+mod)%mod;
cout<<ans<<endl;
}
【题解】CF997C Sky Full of Stars的更多相关文章
- CF997C Sky Full of Stars
CF997C Sky Full of Stars 计数好题 在Ta的博客查看 容斥式子:发现只要每个钦定方案的贡献都考虑到再配上容斥系数就是对的 O(n^2)->O(n) 把麻烦的i=0,j=0 ...
- CF997C Sky Full of Stars 数论
正解:容斥 解题报告: 传送门! 两个方法,分别港下QAQ 先说第一种 首先要推出式子,就∑2*C(i,n)*(-1)i+1*3i*3n*n-n+3*∑∑(-1)i+j+1*C(i,n)*C(j,n) ...
- cf997C. Sky Full of Stars(组合数 容斥)
题意 题目链接 \(n \times n\)的网格,用三种颜色染色,问最后有一行/一列全都为同一种颜色的方案数 Sol Orz fjzzq 最后答案是这个 \[3^{n^2} - (3^n - 3)^ ...
- Codeforces 997 C - Sky Full of Stars
C - Sky Full of Stars 思路: 容斥原理 题解:http://codeforces.com/blog/entry/60357 注意当i > 1 且 j > 1,是同一种 ...
- [CF997C]Sky Full of Stars_二项式反演_等比数列_容斥原理
Sky Full of Stars 题目链接:http://codeforces.com/problemset/problem/997/C 数据范围:略. 题解: 首先考虑拟对象,如果至少有一行完全相 ...
- codeforces 997C.Sky Full of Stars
题目链接:codeforces 997C.Sky Full of Stars 一道很简单(?)的推式子题 直接求显然不现实,我们考虑容斥 记\(f(i,j)\)为该方阵中至少有\(i\)行和\(j\) ...
- [Codeforces 997C]Sky Full of Stars(排列组合+容斥原理)
[Codeforces 997C]Sky Full of Stars(排列组合+容斥原理) 题面 用3种颜色对\(n×n\)的格子染色,问至少有一行或一列只有一种颜色的方案数.\((n≤10^6)\) ...
- codeforces997C Sky full of stars
传送门:http://codeforces.com/problemset/problem/997/C [题解] 注意在把$i=0$或$j=0$分开考虑的时候,3上面的指数应该是$n(n-j)+j$ 至 ...
- 题解报告:hdu 1541 Stars(经典BIT)
Problem Description Astronomers often examine star maps where stars are represented by points on a p ...
随机推荐
- luogu P2434 [SDOI2005]区间
题目描述 现给定n个闭区间[ai, bi],1<=i<=n.这些区间的并可以表示为一些不相交的闭区间的并.你的任务就是在这些表示方式中找出包含最少区间的方案.你的输出应该按照区间的升序排列 ...
- 某考试 T2 Tree
2 树 2.1 题目描述 给一棵n 个节点的树,节点分别编号为0 到n - 1.你可以通过如下的操作来修改这棵树:首先先删去树上的一条边,此时树会分裂为两个连通块,然后在两个连通块之间加上一条新的边使 ...
- 使用Git Gui从Bonobo服务器中克隆Repository(仓库)
刚开始在使用Git Gui从Bonobo服务器中克隆Repository(仓库)中遇到一些问题,如下图所示: 后来百度,有人遇到类似的问题,得到解决思路,请大家参考这里.大意说出现这个问题是因为要克隆 ...
- 聊聊、Zookeeper 数据结构和操作命令
Zookeeper 的视图结构跟标准的 Unix 文件系统很像,都有一个根节点 / .在根节点下面就是一个个的子节点,我们称为 ZNode.ZNode 是 Zookeeper 中最小数据单位,在 ZN ...
- CEF生成JSON数据
在"使用CEF的JSON解析功能"中介绍了使用CefParseJson方法,与之相应的另一个CefWriteJson方法,能够用来生成JSON串(或二进制),其函数原型例如以下: ...
- LCD设备驱动程序
LCD是Liquid Crystal Display的简称,也就是经常所说的液晶显示器 LCD能够支持彩色图像的显示和视频的播放,是一种非常重要的输出设备 Framebuffer 是Linux系统 ...
- (原创)lightgbm 一些错误情况处理
1.做多分类问题时候(mutticlass),如果遇到 lightgbm.basic.LightGBMError: b'Number of classes should be specified an ...
- hadoop datanode节点超时时间设置
datanode进程死亡或者网络故障造成datanode无法与namenode通信,namenode不会立即把该节点判定为死亡,要经过一段时间,这段时间暂称作超时时长. HDFS默认的超时时长为10分 ...
- SSO单点登录系列2:cas客户端和cas服务端交互原理动画图解,cas协议终极分析
落雨 cas 单点登录 一.用户第一次访问web1应用. ps:上图少画了一条线,那一条线,应该再返回来一条,然后再到server端,画少了一步...谢谢提醒.而且,重定向肯定是从浏览器过去的.我写的 ...
- Win7如何解决内存不能为Read的批处理命令
将下面文件保存为"解决内存不能为Read的批处理命令.cmd"双击运行即可 for %%1 in (%WinDir%\system32\*.dll) do regsvr32.e ...