【CSP模拟赛】方程(数学)
题目描述
求关于x的方程:x1+x2+……xk=n的非负整数解的个数。
输入格式
仅一行,包含两个正整数n,k。
输出格式
一个整数,表示方程不同解的个数,这个数可能很大,你只需输出mod 20080814 的结果。
输入样例
1 1
输出样例
1
提示
数据范围
对于50%的数据,n,k<=300
对于80%的数据,n,k<=1000
对于100%的数据,n,k<=100000
分析
第一眼看这不是结论题吗?直接就是C(n+k-1,n-1)。
然后一看模数是个偶数,瞬间懵逼
最后直接赌命暴力分解质因数,居然过了。。。。。。
仔细算复杂度应该是n根号n的
代码
#include<cstdio>
const int mod=;
int n,k,mp[];
int qp(int a,int k)
{
int res=;
while(k)
{
if(k&)res=1ll*res*a%mod;
a=1ll*a*a%mod;k/=;
}
return res;
}
int C(int a,int b)
{
int ans=;
for(int i=a,x;i>=a-b+;i--)
{
x=i;
for(int j=;j*j<=x;j++)
while(x%j==)x/=j,mp[j]++;
mp[x]++;
}
for(int i=,x;i<=b;i++)
{
x=i;
for(int j=;j*j<=x;j++)
while(x%j==)x/=j,mp[j]--;
mp[x]--;
}
for(int i=;i<=;i++)ans=1ll*ans*qp(i,mp[i])%mod;
return ans;
}
int main()
{
scanf("%d%d",&n,&k);
printf("%d\n",C(n+k-,n-));
}
【CSP模拟赛】方程(数学)的更多相关文章
- CSP模拟赛游记
时间:2019.10.5 考试时间:100分钟(连正式考试时间的一半还没有到)题目:由于某些原因不能公开. 由于第一次接触NOIinux系统所以连怎么建文件夹,调字体,如何编译都不知道,考试的前半小时 ...
- 【CSP模拟赛】Confess(数学 玄学)
题目描述 小w隐藏的心绪已经难以再隐藏下去了.小w有n+ 1(保证n为偶数)个心绪,每个都包含了[1,2n]的一个大小为n的子集.现在他要找到隐藏的任意两个心绪,使得他们的交大于等于n/2. 输入描述 ...
- 【CSP模拟赛】坏天平(数学&思维)
蹭兄弟学校的题目做还不用自己出题的感觉是真的爽 题目描述 nodgd有一架快要坏掉的天平,这架天平右边的支架有问题,如果右边的总重量比左边多太多,天平就彻底坏掉了.现在nodgd手上有n种砝码,质量分 ...
- 【csp模拟赛5】限制 (restrict.cpp)--数学
自己看吧: 爆搜代码: //春水初涨-春林初盛-春风十里-不如你 //----hzwer // 这是啥子题,读不懂-- //题意有问题 -- #include<iostream> #inc ...
- 20180606模拟赛T4——数学游戏
数学游戏 题目描述: 小T又发脑残了,没错,她又要求奇怪的东西,这次她想知道[X,Y]之间整数有多少可以表示成K个不同的B的幂的和形势.如\(x,y,k,b=15,20,2,2\),则有: \[17= ...
- 【CSP模拟赛】Freda的迷宫(桥)
题目描述 Freda是一个迷宫爱好者,她利用业余时间建造了许多迷宫.每个迷宫都是由若干房间和走廊构成的,每条走廊都连接着两个不同的房间,两个房间之间最多只有一条走廊直接相连,走廊都是双向通过. 黄昏 ...
- CSP模拟赛2游记
这次由于有课迟到30min,了所以只考了70min. 调linux配置调了5min,只剩下65min了. T1:有点像标题统计,但要比他坑一点,而且我就被坑了,写了一个for(int i=1;i< ...
- 【CSP模拟赛】Freda的旗帜
题目描述 要开运动会了,Freda承担起了制作全校旗帜的工作.旗帜的制作方法是这样的:Freda一共有C种颜色的布条,每种布条都有无数个,你可以认为这些布条的长.宽.厚都相等,只有颜色可能不同.每个 ...
- 【csp模拟赛4】基站建设 (station.cpp)
[题目描述] 小 Z 的爸爸是一位通信工程师,他所在的通信公司最近接到了一个新的通 信工程建设任务,他们需要在 C 城建设一批新的基站. C 城的城市规划做得非常好,整个城市被规整地划分为 8 行 8 ...
随机推荐
- mongoose 警告信息 { useNewUrlParser: true } { useUnifiedTopology: true }
问题: 解决:
- 设置 SQL*Plus 的运行环境
SQL*Plus 的运行环境是用来输入.执行 SQL*Plus 命令和显示返回结果的场所,设置合适的 SQL*Plus 运行环境,可以使 SQL*Plus 按照用户的要求运行和执行各种操作.set 命 ...
- 几种常见的Preference总结
DialogPreference共性 DialogPreference通用属性 说明 android:dialogIco 对话框的icon android:dialogLayout dialog的co ...
- linux设置网卡速率
ethtool # ethtool ethX //查询ethX网口基本设置 # ethtool –h //显示ethtool的命令帮助(help) # ethtool –i ethX //查询ethX ...
- c# zip写comment注释
//生成的压缩文件为test.zip using (FileStream fsOut = File.Create("test.zip")) { //ZipOutputStream类 ...
- 卷积神经网络快速入门【基于TensorFlow】
一.概述 卷积神经网络[Convolutional neural networks]里面最重要的构建单元是卷积层.神经元在第一个卷积层不是连接输入图片的每一个像素,只是连接它们感受野1的像素,以此类推 ...
- HDFS-SecondaryNameNode(SNN)角色介绍
它出现在Hadoop1.x版本中,又称辅助NameNode,在Hadoop2.x以后的版本中此角色消失.如果充当datanode节点的一台机器宕机或者损害,其数据不会丢失,因为备份数据还存在于其他的d ...
- Centos 端口被占用,kill被占用的进程
1.yum install lsof 2.输入netstat -tln,查看系统当前所有被占用端口 3.根据端口查询进程,输入lsof -i :9555,切记不要忘了添加冒号 4. 既然知道进程号了, ...
- LNMP - Warning: require(): open_basedir restriction in effect错误解决方法
LNMP 1.4或更高版本如果不想用防跨目录或者修改.user.ini的防跨目录的目录还需要将 /usr/local/nginx/conf/fastcgi.conf 里面的fastcgi_param ...
- Nginx配置文件示例
Nginx的配置文件示例:(仅供参考) 强烈建议先将默认的配置文件备份再进行操作! 请根据自己项目的实际路径来配置相关路径! uwsgi配置文件请参考:uwsgi配置文件示例 # For more i ...