【Luogu】 P6076 [JSOI2015]染色问题

这篇具有很好参考价值的文章主要介绍了【Luogu】 P6076 [JSOI2015]染色问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目链接

点击打开链接

题目解法

可以一个一个条件考虑

  1. 只考虑条件 1 1 1
    答案即为 ( c + 1 ) n m (c+1)^{nm} (c+1)nm
  2. 考虑条件 1 , 2 1,2 1,2
    对每一行的方案数减去 1 1 1
    答案即为 ( ( c + 1 ) m − 1 ) n ((c+1)^m-1)^n ((c+1)m1)n
  3. 考虑条件 1 , 2 , 3 1,2,3 1,2,3
    考虑容斥
    容斥至少有 i i i 列未被染色,即为 g i g_i gi
    g i g_i gi n n n m − i m-i mi c c c 种颜色的方案数
    g i = ( ( c + 1 ) m − i − 1 ) n g_i=((c+1)^{m-i}-1)^n gi=((c+1)mi1)n
    答案即为 g 0 ∗ C m 0 − g 1 ∗ C m 1 + g 2 ∗ C m 2 − . . . g_0*C^0_m-g_1*C^1_m+g_2*C^2_m-... g0Cm0g1Cm1+g2Cm2...
  4. 考虑条件 1 , 2 , 3 , 4 1,2,3,4 1,2,3,4
    继续考虑容斥
    先容斥至少有 j j j 种颜色未被用到,记为 f j f_j fj
    n n n m m m c − j c-j cj 种颜色的方案数
    这就是第 3 3 3 种情况的容斥
    直接搬来即可
    最终答案即为 f 0 ∗ C c 0 − f 1 ∗ C c 1 + f 2 ∗ C c 2 − . . . f_0*C^0_c-f_1*C^1_c+f_2*C^2_c-... f0Cc0f1Cc1+f2Cc2...

两次容斥时间复杂度 O ( m c ) O(mc) O(mc),求幂 O ( l o g n ) O(logn) O(logn)
总时间复杂度 O ( m c    l o g n ) O(mc\;logn) O(mclogn)文章来源地址https://www.toymoban.com/news/detail-489599.html

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N(410),P(1e9+7);
int n,m,c,C[N][N]; 
inline int read(){
	int FF=0,RR=1;
	char ch=getchar();
	for(;!isdigit(ch);ch=getchar()) if(ch=='-') RR=-1;
	for(;isdigit(ch);ch=getchar()) FF=(FF<<1)+(FF<<3)+ch-48;
	return FF*RR;
}
int qmi(int a,int b){
	int res=1;
	for(;b;b>>=1){
		if(b&1) res=(LL)res*a%P;
		a=(LL)a*a%P;
	}
	return res;
}
int main(){
	n=read(),m=read(),c=read();
	C[0][0]=1;
	for(int i=1;i<N;i++)
		for(int j=0;j<=i;j++) C[i][j]=(!j||i==j)?1:(C[i-1][j]+C[i-1][j-1])%P;
	int ans=0;
	for(int i=0;i<=c;i++){//至少有i个颜色没出现 
		int res=0;
		for(int j=0;j<=m;j++){//至少有j列未染色 
			if(j&1) res=(res-(LL)qmi(qmi(c+1-i,m-j)-1,n)*C[m][j]%P+P)%P;
			else (res+=(LL)qmi(qmi(c+1-i,m-j)-1,n)*C[m][j]%P)%=P;
		}
		if(i&1) ans=(ans-(LL)res*C[c][i]%P+P)%P;
		else (ans+=(LL)res*C[c][i]%P)%=P;
	}
	printf("%d",ans);
	return 0;
}

到了这里,关于【Luogu】 P6076 [JSOI2015]染色问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • selenium点击链接下载文件,并获取文件

    在自动化测试时,有时我们会需要自动化获取下载的文件,这是我们要怎么办呢,跟着我一步步的来获取下载的文件吧 首先声明下,我们需要引入的类 配置我们的chrome浏览的下载环境,去除弹窗确认 这里profile.default_content_settings.popups设置成0,意思是取消下载的确认弹窗 d

    2024年02月13日
    浏览(32)
  • 【Android】点击短信链接唤起APP的方案实践

        在很多业务场景中,需要点击短信链接跳转到App的指定页面。在Android系统中,想要实现这个功能,可以通过DeepLink或AppLink实现。     DeepLink是Android系统最基础、最普遍、最广泛的外部唤起App的方式,不受系统版本限制。 1.1 方案效果     当用户点击链接时,系统会

    2024年02月04日
    浏览(35)
  • layuimini打开新页面/窗口/tab,点击按钮/超链接

    如需在页面中弹出新的Tab窗口,请参考下方代码。(备注:需要引入 miniTab.js或config.js 文件) 参数说明(layuimini-content-href:页面链接,data-title:标题) 调用方法进行监听: miniTab.listen(); 示例在 page/welcome-1.html 页面中有   如需在页面中弹出新的Tab窗口,请参考下方代码。(

    2024年02月16日
    浏览(38)
  • 长春理工大学第六届CTF网络攻防大赛题解(文末有题目下载链接)

    此题解仅为部分题解,包括: 【RE】:①Reverse_Checkin ②SimplePE ③EzGame 【Web】①f12 ②ezrunner 【Crypto】①MD5 ②password ③看我回旋踢 ④摩丝 【Misc】①爆爆爆爆 ②凯撒大帝的三个秘密 ③你才是职业选手 ① Reverse Checkin: 双击文件看到如上提示:“也许你能从字符串里找到什么”

    2024年02月05日
    浏览(49)
  • 你安全吗?丨点击“不明链接”后果是什么你知道吗?

    作者:黑蛋 ​陌生链接可以随便点吗? 《你安全吗》电视剧中,秦淮发给周游一个链接,称周游只要点击授权,秦淮就可以获取周游位置,玄乎其技。这个链接,就是我们此篇的关键:钓鱼网站。所谓的钓鱼网站到底是个什么东西,他是黑客手段中比较简单常见的一种技术

    2024年02月05日
    浏览(29)
  • WebMagic - 创意前端项目集合(点击链接可在电脑上查看效果)

    欢迎来到 WebMagic 仓库!这里汇集了一系列令人惊叹的前端项目,涵盖了HTML5、CSS3和JS等多项技术。无论你是前端开发者、设计师,还是对创意互动内容感兴趣的人,这个仓库都将为你带来无尽的惊喜。 每个项目都经过精心设计和编码,具有清晰的文档,让你轻松上手。请随意

    2024年02月12日
    浏览(30)
  • Css 如何取消a链接点击时的背景颜色

    要取消 a 链接点击时的背景颜色,可以使用 CSS 的伪类 :active 。你可以通过为 a:active 应用 background-color 属性设置为 transparent 或者 none ,来取消点击时的背景色。下面是一个示例: 将这段 CSS 代码应用到你的样式表中,可以确保当用户点击链接时不会出现背景颜色的变化。 另

    2024年02月07日
    浏览(40)
  • iOS 中支持点击网页scheme超链接打开其他app

    网页内容如图所示 思路,点击网页中一个href 超链接的时候,会执行 decidePolicyForNavigationAction 方法,我们在改方法中截获URL, 判断如果是URL scheme类型的,则执行 [[UIApplication sharedApplication]openURL:URL options:@{} completionHandler:nil] 方法,打开URL,并取消这次加载 实现方法 app配置

    2024年02月16日
    浏览(49)
  • VS2022无法打开Silverlight 项目的问题:改用VS2015

    警告: Microsoft Silverlight 已于 2021 年 10 月 12 日终止支持。 Silverlight 开发框架目前仅在 Internet Explorer 10 和 Internet Explorer 11 上受支持,对 Internet Explorer 10 的支持将于 2020 年 1 月 31 日结束。 不会再支持 Chrome、Firefox 或使用 Mac 操作系统的任何浏览器。 根据微软官方的解释: S

    2024年02月05日
    浏览(45)
  • 如何生成支付宝小程序链接,点击直接打开并进入某个页面

    来到CSDN社区已经很长时间了,经常看大家在这里分享的知识文章,受益匪浅。今天刚好在公司写项目踩到了一个小坑就想着记录下来,希望能够帮助到大家。 业务需求场景 :商城分销,分销人点击分享按钮即可生成某个商品的分享链接,用户点击链接直接打开支付宝小程序

    2024年02月09日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包