首页 > 其他分享 >AT_agc025_b RGB Coloring 题解

AT_agc025_b RGB Coloring 题解

时间:2024-08-15 22:27:44浏览次数:7  
标签:Coloring return int 题解 inv qz RGB inline mul

Problem

Solution

由于涂绿色的得分为 \(A+B\),所以可以将红色与蓝色独立考虑。

依次枚举红色的个数,假定为 \(i\),所以剩余需要的得分为 \(K-i\times A\),判断是否能被 \(B\) 整除,若能,则蓝色个数为 \(\frac{K-i\times A}{B}\),设为 \(j\),则总方案累加 \(C^{i}_{n}\times C^{j}_{n}\),除法用逆元即可。

Code

#include<bits/stdc++.h>
using namespace std;
#define For(i,a,b) for(int i=(a);i<=(b);i++)
#define FOR(i,a,b) for(int i=(a);i>=(b);i--)
#define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)
#define int long long

const int P=998244353,N=3e5+4;
int n,A,B,K,mul[N],ans;
inline int ksm(int b,int p,int k)
{
	int qz=b,sum=1;
	while(p>0)
	{
		if(p&1==1)sum=(sum*qz)%k;
		qz=(qz*qz)%k;
		p>>=1;
	}
	return sum%k;
}
inline int inv(int x){return ksm(x%P,P-2,P);}
inline void init()
{
	mul[0]=1;
	For(i,1,n)mul[i]=(mul[i-1]*i)%P;
}
inline int C(int n,int m)
{
	if(n<0 || m<0 || m>n)return 0;
	return mul[n]*inv(mul[n-m])%P*inv(mul[m])%P;
}
signed main()
{
	IOS;
	cin>>n>>A>>B>>K;
	init();
	For(i,0,n)if((K-i*A)%B==0)ans=(ans+C(n,i)*C(n,(K-i*A)/B)%P)%P;
	cout<<ans;

	return 0;
}

标签:Coloring,return,int,题解,inv,qz,RGB,inline,mul
From: https://www.cnblogs.com/Wu-ZH/p/18361914

相关文章

  • Vue 项目中,设置的 `color` 样式为 Hex 代码,但最终显示为 RGB 代码 情况原因
    在Vue项目中,设置的color样式为Hex代码,但最终显示为RGB代码,这通常是由于以下几种情况导致:1.CSS预处理器(Sass,Less)的影响:当你使用Sass或Less等CSS预处理器时,它们会将Hex颜色代码转换为RGB颜色代码,以便更好地进行颜色计算和操作。如果你在style属性......
  • [Ynoi2016] 镜中的昆虫 题解
    难度在最近遇到的题里相对较高,在这里写一篇珂学题解。(以下是学校给的部分分)\(20\%\):直接暴力枚举。另外\(20\%\):假如我们取\(pre\),对于\(pre<l\)的,\(ans++\),明显二维偏序,树状数组或\(cdq\)即可,时间复杂度\(O(n\logn)\)。另外\(40\%\):相当于多加一个时间维,三维偏序,\(......
  • DELPHI四舍五入问题解决
    转自http://www.delphitop.com/html/jichu/153.html 感谢原作者。 这段时间在用DELPHI做一个财务系统时发现每一行的小计取了两位小数后与用SQL的ROUND查询出来的不一样,在程序中是用FormatFloat('0.00',ItemSum)函数来取值的,再用DXDBGRID网格显视合计,最终与SELECTSUM(ROUND(......
  • 【问题解决】PageOffice打开word文档报错:Office运行时错误,部分系统文件可能丢失或已损
    打开wps,右上角配置和修复工具取消勾选,确定再打开,重新勾选,确定,退出重启电脑,验证。--PS:本人自测成功,有些人的机器安装有MicrosoftOffice,取消之后(不需要重新勾选)就可以了;本人机器只安装了WPS适合这种操作。......
  • P10633 BZOJ2989 数列/BZOJ4170 极光 题解
    题目传送门前置知识CDQ分治|权值树状数组及应用|曼哈顿距离与切比雪夫距离的相互转化解法增加一维为时间戳,那么操作\(1\)等价于单点加。曼哈顿距离直接跑CDQ分治,貌似不太可做,考虑转化为切比雪夫距离。原曼哈顿坐标系中的点\((x_{1},y_{1}),(x_{2},y_{2})\)间的......
  • Ubuntu中编译使用ANTs(医学图像配准)含github无法访问问题解决
    目录第一步、修改hosts文件1.打开https://github.com.ipaddress.com/ 2.打开https://fastly.net.ipaddress.com/github.global.ssl.fastly.net#ipinfo3.打开hosts文件,并在文件末尾添加如下内容 第二步、编译ANTs1)首先安装git、cmake以及c++编译器2)编译3)配置bin目录,......
  • 【题解】CF - 823C : Coin Troubles
    原题传送门题目大意有\(N\)种硬币,两种硬币的面值可能相同。给定\(q\)个限制,第\(i\)个限制由\(b_i\)和\(c_i\)组成,表示第\(b_i\)种硬币的数量严格大于第\(c_i\)种硬币的数量,且每个\(b_i\)与\(c_i\)都是唯一的。问在满足所有限制的情况下,有多少种可能的方案,能组......
  • Django 数据库迁移:makemigrations 和 migrate 命令详解及常见问题解决
    目录1.问题所示2.pythonmanage.pymakemigrations3.pythonmanage.pymigrate4.拓展1.问题所示最初始的状态是遇到这个问题由于刚开始跑pythonweb项目,开源项目附带的Readme,个别命令不太懂,对此详细研究其基本知识最终的解决方案如下:清理迁移文件:删除迁移目......
  • 大模型面试题库精华:100道经典问题解析
    ↓推荐关注↓算法暑期实习机会快结束了,校招大考即将来袭。当前就业环境已不再是那个双向奔赴时代了。求职者在变多,岗位在变少,要求还更高了。最近,我们陆续整理了很多大厂的面试题,帮助网友解惑答疑和职业规划,分享了面试中的那些弯弯绕绕。喜欢本文记得收藏、关注、点赞,更......
  • Ubunto 24.04 下 Docker Desktop 打开无反应问题解决和原因
    背景系统环境:Ubuntu24.04LTSDocker版本:Dockerversion26.1.4问题表象:打开DockerDesktop之后,无任何反应,使用命令行直接运行DockerDesktop,提示:runningundersystemd解决方案命令行执行如下指令$sudosysctl-wkernel.apparmor_restrict_unprivileged_userns=0$......