P6620-[省选联考2020A卷]组合数问题【组合数学,斯特林数】
正题
题目链接:https://www.luogu.com.cn/problem/P6620
题目大意
给出\(n,x,p,m\)和一个\(m\)次多项式\(f\)求
\]
答案对\(p\)取模。
\(1\leq n\leq 10^9,1\leq m\leq 1000\)
解题思路
什么混凝土数学题
首先我们发现这个组合数\(\binom{n}{k}\)处理的十分难受,有一个下降幂的结论正好可以把这个难受的\(k\)变掉。
\]
我们需要找到一个东西来提供\(k^{\underline m}\),此时给我们的多项式\(f\)就是一个不错的选择。
我们考虑把多项式转换为下降幂的形式
\]
考虑一下怎么找到序列\(b_i\),也就是我们需要把\(x^i\)转换为下降幂的形式,有一个第二类斯特林数的性质就是
\]
\]
然后就可以继续推我们的式子了
\]
\]
把\(i\)提出去枚举
\]
\]
然后后面那个式子就可以二项式定理了
\]
然后就搞定了
时间复杂度\(O(m^2+m\log n)\)
code
#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
const ll N=1100;
ll n,x,m,P,a[N],b[N],s[N][N],ans;
ll power(ll x,ll b){
ll ans=1;
while(b){
if(b&1)ans=ans*x%P;
x=x*x%P;b>>=1;
}
return ans;
}
signed main()
{
scanf("%lld%lld%lld%lld",&n,&x,&P,&m);
for(ll i=0;i<=m;i++)scanf("%lld",&a[i]);
s[0][0]=1;
for(ll i=1;i<=m;i++)
for(ll j=1;j<=i;j++)
s[i][j]=(s[i-1][j]*j%P+s[i-1][j-1])%P;
for(ll i=0;i<=m;i++)
for(ll j=i;j<=m;j++)
(b[i]+=a[j]*s[j][i]%P)%=P;
for(ll i=0,tmp=1;i<=m;i++){
(ans+=b[i]*tmp%P*power(x,i)%P*power(x+1,n-i)%P)%=P;
tmp=tmp*(n-i)%P;
}
printf("%lld\n",ans);
return 0;
}
P6620-[省选联考2020A卷]组合数问题【组合数学,斯特林数】的更多相关文章
- P6624-[省选联考2020A卷]作业题【矩阵树定理,欧拉反演】
正题 题目链接:https://www.luogu.com.cn/problem/P6624 题目大意 \(n\)个点的一张图,每条边有权值,一棵生成树的权值是所有边权和乘上边权的\(gcd\),即 ...
- [题解] LOJ 3300 洛谷 P6620 [省选联考 2020 A 卷] 组合数问题 数学,第二类斯特林数,下降幂
题目 题目里要求的是: \[\sum_{k=0}^n f(k) \times X^k \times \binom nk \] 这里面出现了给定的多项式,还有组合数,这种题目的套路就是先把给定的普通多项 ...
- P7515-[省选联考 2021A卷]矩阵游戏【差分约束】
正题 题目链接:https://www.luogu.com.cn/problem/P7515 题目大意 有一个\(n*m\)的矩形\(A\),然后给出一个\((n-1)*(m-1)\)的矩形\(B\) ...
- [省选联考 2020 A 卷] 组合数问题
题意 [省选联考 2020 A 卷] 组合数问题 想法 自己在多项式和数论方面还是太差了,最近写这些题都没多少思路,看完题解才会 首先有这两个柿子 \(k*\dbinom{n}{k} = n*\dbi ...
- luoguP6620 [省选联考 2020 A 卷] 组合数问题(斯特林数)
luoguP6620 [省选联考 2020 A 卷] 组合数问题(斯特林数) Luogu 题外话: LN切这题的人比切T1的多. 我都想到了组合意义乱搞也想到可能用斯特林数为啥还是没做出来... 我怕 ...
- 题解 P6622 [省选联考 2020 A/B 卷] 信号传递
洛谷 P6622 [省选联考 2020 A/B 卷] 信号传递 题解 某次模拟赛的T2,考场上懒得想正解 (其实是不会QAQ), 打了个暴力就骗了\(30pts\) 就火速溜了,参考了一下某位强者的题 ...
- [省选联考 2021 A 卷] 矩阵游戏
很巧妙的一个构造. 我是没有想到的. 自己的思维能力可能还是不足. 考虑先满足\(b\)对\(a\)的限制,把\(a\)的第一行和第一列设\(0\),推出这个\(a\). 接下来考虑对这个\(a\), ...
- [省选联考 2021 A/B 卷] 卡牌游戏
垃圾福建垫底选手来看看这题. 大家怎么都写带 \(log\) 的. 我来说一个线性做法好了. 那么我们考虑枚举 \(k\) 作为翻转完的最小值. 那么构造出一个满足条件的操作,我们在 \(a_i\) ...
- luoguP6622 [省选联考 2020 A/B 卷] 信号传递(状压dp)
luoguP6622 [省选联考 2020 A/B 卷] 信号传递(状压dp) Luogu 题外话: 我可能是傻逼, 但不管我是不是傻逼, 我永远单挑出题人. 题解时间 看数据范围可以确定状压dp. ...
随机推荐
- dedecms织梦笔记
1.单标签用法{dede:标签名 属性="值".../}举例说明:{dede:include filename="head.htm" /}2.双标签用法:cha ...
- 如何在WPF中定义窗体模板
参考网址:https://www.cnblogs.com/chenxizhang/archive/2010/01/10/1643676.html可以在app.xaml中定义一个ControlTempl ...
- 一 · 路由事件的三种方式/策略(冒泡 直接 隧道)
WPF中的路由事件是沿着VisualTree传递的,作用是用来调用应用程序的元素树上的各种监听器上的处理程序. (1)冒泡,这种事件处理方式是从源元素向上级流过去,直到到达根节点即顶层节点,一般为最外 ...
- 十一:JavaWeb中的监听器(二)
一.监听域对象中属性的变更的监听器 域对象中属性的变更的事件监听器就是用来监听 ServletContext, HttpSession, HttpServletRequest 这三个对象中的属性变更信 ...
- 三 MongoDB进阶
1 Limit方法 概念:查询指定数量的数据,该方法接受一个数字参数作为查询记录数的数量 举个例子:查询集合col中最多2条记录数 2 Skip方法 概念:查询到的结果集中,跳过指定数量的数据,该方法 ...
- Maven脑图
转自:https://segmentfault.com/a/1190000017832792 参考:https://www.cnblogs.com/mzywucai/p/11053341.html
- Failed to start LSB: Bring up/down错误解决方法
很多朋友在使用centos7系统时,有时候需要分配多个IP地址,这就涉及到修改网卡配置,但是在修改完网卡配置时,重启网络服务时会出现"Failed to start LSB: Bring u ...
- ubuntu下配置JDK的一些坑点
ubuntu下配置JDK的一些坑点 在centos下的JDK配置: 在ubuntu下的话,要修改两个地方: 在/etc/enviornment中配置! 在/etc/profile中配置! 写在最后: ...
- PB代码转JAVA工具
开发了PB代码转JAVA的工具,正在做datawindow和datastore的处理.以下是目前已经能处理的功能: 1.自动从PBL中获取对象的函数或事件代码 a)可以自动获取实例变量.函数或事件的入 ...
- 检测一个页面所用的时间的js
window.onload = function () { var loadTime = window.performance.timing.domContentLoadedEventEnd-wind ...