首页 > 其他分享 >[JSOI2015]染色问题

[JSOI2015]染色问题

时间:2022-10-13 19:12:05浏览次数:84  
标签:JSOI2015 int 染色 LL 问题 res inv mod

P6076 JSOI2015染色问题
也是BZOJ4497

  • 容斥原理: 将条件容斥
    第一步: 先处理掉至少用一种颜色的: 设 f[i]表示用至多 i 种颜色, 每行每列都染色的格子的方案数/ 答案为 (-1)i * C{c}{i} f[c-i] 其中 i在[0..n] 中 : i为必须忽略的颜色
    第二步: 求出 f[i]: (-1)
    k * C{m}{k} * ((i+1)k - 1)m 其中 k在[0..m] 中 : k为规定必须选的列数
点击查看代码

#include <stdio.h>
#include <string.h>
typedef long long LL;
const int N = 405, mod = 1e9 + 7;
int f[N], fac[N], inv[N];
int qpow(int b, int p) {
	int res = 1;
	while(p) {
		if(p & 1) res = (LL)res * b % mod;
		b = (LL)b * b % mod, p >>= 1;
	} return res;
}
inline int C(int n, int m) {
	if(n < m) return 0;
	return (LL)fac[n] * inv[m] % mod * inv[n - m] % mod;
}
int n, m, c;
int main() {
	scanf("%d%d%d", &n, &m, &c);
	for(int i = fac[0] = inv[0] = 1; i <= m || i <= c; i ++)
		fac[i] = (LL)fac[i - 1] * i % mod, inv[i] = qpow(fac[i], mod - 2);
	for(int i = 1; i <= c; i ++) {
		for(int k = 0; k <= m; k ++) {
			int tmp = qpow((qpow(i + 1, m - k) - 1LL + mod) % mod, n);
			if(k & 1) f[i] = (f[i] - (LL)tmp * C(m, k)) % mod;
			else f[i] = (f[i] + (LL)tmp * C(m, k) + mod) % mod;
		}
	}
	int res = 0;
	for(int i = 0; i <= c; i ++)
		if(i & 1) res = (res - (LL)C(c, i) * f[c - i] % mod) % mod;
		else res = (res + (LL)C(c, i) * f[c - i] % mod + mod) % mod;
	printf("%d\n", res);
	return 0;
}

标签:JSOI2015,int,染色,LL,问题,res,inv,mod
From: https://www.cnblogs.com/azzc/p/16789132.html

相关文章

  • 版本发布存在的问题
    1、涉及到前后端都有修改的,需要前后端同步发版本,避免单方面发版本出现各种无效bug,浪费测试资源;2、版本发布涉及到表结构修改、新增表、初始化数据*(代码里写死的、数据库里......
  • 微信小游戏开放数据域模板覆盖问题
    每次构建发布时,会发现原本微信小程序里调整好的排行榜样式,我在cocos里构建完之后,微信小游戏调整好的样式无了!又变成以前的然后研究发现我们需要将改好后的工程build文......
  • android开发记录一个依赖冲突问题
    Executionfailedfortask':ent:entPdfConvert:generateEntDebugRFile'.Couldnotresolveallfilesforconfiguration':ent:entPdfConvert:entDebugCompileClasspat......
  • Elasticsearch 6.8 集群索引异常问题修复
    1[root@soar~]#curlhttp://localhost:31600/_cluster/allocation/explain?pretty2{3"index":"event20220429_v4",4"shard":3,5"primary":fa......
  • NetBSD安装中的一些问题总结
    参考文档:https://www.cioworld.cn/guide/install/netbsd-quick-installhttps://www.netbsd.org/docs/guide/en/最近迷上了BSD系统,玩了一阵子FreeBSD之后,发现FreeBSD对ar......
  • TP5 验证场景中,一个字段自定义验证多个规则的问题
    需求:在验证器validate/User.php中  想对邮箱的格式和重复性进行验证(验证是否和别人的重复,排除自己的)过程:验证规则定义如下:   验证场景定义如下:  结......
  • 光电传感器问题
    光电传感器问题主要是发射光长时间通电会导致发射光衰减。导致输出有影响。还有关于使用环境的变化也会造成光电传感器的异常。输出端,有两种输出模式:常开、常闭。实际应用......
  • 关于上位机和设备串口传输的相关问题
    上位机采用的是windows系统,用C#编写用户UI,COM驱动采用的是C#自带的serialport类,下位机用单片机+SP3232模式。传输线采用的是USB转RS232的转接线。初步问题是,上位机采......
  • 浏览器渲染页面常见问题
    构建过程中可能会产生的阻塞​​html​​​的代码,是从上到下一行行执行的,也就是说如果​​js​​​代码写在​​head​​​头里,且没有用加在​​window.onload​​​方法里,......
  • c#打开日文文件乱码问题
    乱码示例:儊僜僢僪幚峴解决方法:vardstEncoding=Encoding.GetEncoding("shift_jis");varsrcEncoding=Encoding.GetEncoding("gbk");Console.WriteLine(dstEncodin......