大佬链接 https://blog.csdn.net/qq_37656398/article/details/100829994
这题一直在试图找规律
谁知道是数学题,要化简推导的那种
猫猫叹气
n棵树 n-1个空缺
路径长m 跳跃m-1次
通过隔板法将问题转换为
把n-1分成m-1份,分法总数是奇是偶?
大佬的思路我看懂了,但大佬的卢卡斯版代码我一直没咋理解
附上一份我自己的卢卡斯代码
#include <iostream>
using namespace std;
long long C(long long x, long long y, long long z)
{
if(!y) return 1;
else return x;
}
long long Lucas(long long n, long long m, long long p) {
if (m == 0) return 1;
return (C(n % p, m % p, p) * Lucas(n / p, m / p, p)) % p;
}
int main()
{
int T; cin>>T;
while(T--)
{
long long n, m, k; cin>>n>>m>>k;
long long u = m - 2;
long long d = n - 2 - (k - 1) * (m - 1);
long long an = Lucas(d, u, 2);
if(an) cout<<"YES\n";
else cout<<"NO\n";
}
return 0;
}
自己写的A倒是能A,但时间是大佬的十倍
所以啊这题代某懂了,但又没有完全懂