牛客多校第六场C
2024-09-05 03:44:56
一个数很大,并不能预处理,所以要进行公式变换,存前一个的值就好
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll MD=,N=1e6+;
ll n,m,inv[N];
int main()
{
inv[]=inv[]=;
int T,ca=;
ios::sync_with_stdio(false),cin.tie(),cout.tie();
cin>>T;
for(int i=; i<N; ++i) inv[i]=(MD-MD/i)*inv[MD%i]%MD;
while(T--)
{
cin>>n>>m;
ll ans=m%MD,t=m%MD;
for(int i=;i<n&&i<m;i++)
{
t=t*(m%MD-i)%MD*(n%MD-i)%MD*inv[i]%MD;
ans=(ans+t)%MD;
}
cout<<"Case #"<<++ca<<": "<<ans<<"\n";
}
}
最新文章
- go语言结构体
- Android Studio failed to open by giving error “Files Locked” 解决方案
- MVA Universal Windows Apps系列学习笔记1
- 学习Spring必学的Java基础知识
- Vim小知识
- 你想建设一个能承受500万PV/每天的网站吗?
- HDU2083JAVA
- STM32F4中USB与PC双向通信
- jsp的内置对象
- NLP+VS︱深度学习数据集标注工具、方法摘录,欢迎补充~~
- 【mongodb系统学习之三】进入mongodb shell
- vuex2中使用mapMutations/mapActions报错解决方法 BabelLoaderError: SyntaxError: Unexpected token
- MDX 脚本语句 -- Scope
- JS的局部变量和全局变量
- Android.mk简介<;转>;
- input file 文件上传标签的样式美化
- python的基础socket知识
- Python 高级编程 ——观察者模式
- 5.C#知识点:ref和Out关键字浅谈
- XE6入门(二)项目中的文件