2021牛客寒假训练营 系数(二项式定理凑系数)

LINK


题意

f ( x ) = ( x 2 + x − 1 ) n f(x)=(x^2+x-1)^n f(x)=(x2+x1)n的第 k k k项系数

答案对 3 3 3取余


观察数据范围,可以想到应该是 O ( l o g ) O(log) O(log)一次的询问

应该不是什么多项式(可能)

假如能用二项式定理,第 k k k项系数可以用组合数表示出来

但是这里不能用二项式定理,因为里面有三项

但是我们可以变形一下!!

( x 2 − 2 x + 1 ) n (x^2-2x+1)^n (x22x+1)n的系数和 f ( x ) f(x) f(x)完全相同

因为我们只是加上了 3 x 3x 3x的倍数,模 3 3 3意义下是一样的

变成这样之后,括号内是一个完全平方的形式

( x − 1 ) 2 n (x-1)^{2n} (x1)2n

k k k项就是 C 2 n k ( − 1 ) 2 n − k x k C_{2n}^k(-1)^{2n-k}x^{k} C2nk(1)2nkxk

卢卡斯搞一搞就好了

#include <bits/stdc++.h>
using namespace std;
#define int long long
const int mod=3;
int t,n,k,fac[2001];
int quick(int x,int n)
{
	int ans = 1;
	for( ; n ; n>>=1,x=x*x%mod )
		if( n&1 )	ans = ans*x%mod;
	return ans;
}
int C(int n,int m)
{
	if(m>n)	return 0;
	return fac[n]*quick(fac[m],mod-2)%mod*quick(fac[n-m],mod-2)%mod;
}
int Lucas(int n,int m)
{
	if(!m)	return 1ll;
	return C(n%mod,m%mod)*Lucas(n/mod,m/mod)%mod;
}
signed main()
{
	fac[0]=1;
	for(int i=1;i<=2000;i++)	fac[i]=(fac[i-1]*i)%mod;
	cin >> t;
	while( t-- )
	{
		cin >> n >> k;
		int ans = Lucas(2*n,k)*quick(-1,2*n-k);
		cout << ( ans%mod+mod )%mod << endl;
	}
}
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可私 6信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可 6私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可私 6信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值