当前位置:网站首页>AcWing 886. Finding combinatorial number II (pretreatment factorial)
AcWing 886. Finding combinatorial number II (pretreatment factorial)
2022-07-01 04:51:00 【MangataTS】
Topic link
https://www.acwing.com/problem/content/description/888/
Ideas
This data range is even larger , So we can't use recursion at this time , Because I can't save it , Second, the complexity is too high , So we can start from the definition of combinatorial number : C a b = a ! ( a − b ) ! × b ! C_a^b=\frac{a!}{(a-b)!\times b!} Cab=(a−b)!×b!a!, So now we just need to 1e5 All factorials within and the inverse preprocessing of factorials are OK , So the problem is solved
Code
#include<bits/stdc++.h>
using namespace std;
//---------------- Custom part ----------------
#define ll long long
#define mod 1000000007
#define endl "\n"
#define PII pair<int,int>
#define INF 0x3f3f3f3f
int dx[4] = {
-1, 0, 1, 0}, dy[4] = {
0, 1, 0, -1};
ll ksm(ll a,ll b) {
ll ans = 1;
for(;b;b>>=1LL) {
if(b & 1) ans = ans * a % mod;
a = a * a % mod;
}
return ans;
}
ll lowbit(ll x){
return -x & x;}
const int N = 2e6+10;
//---------------- Custom part ----------------
ll t,n,m,q,fact[N],invfact[N];
void init(){
invfact[0]= fact[0] = 1;// initialization
for(int i = 1;i < N; ++i) {
fact[i] = fact[i-1] * i % mod;
invfact[i] = ksm(fact[i],mod-2);
}
}
void slove(){
ll a,b;
cin>>a>>b;
cout<<(fact[a] * invfact[a-b]) % mod * invfact[b] % mod <<endl;
}
int main()
{
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
init();
cin>>t;
while(t--){
slove();
}
return 0;
}
边栏推荐
- 【FTP】FTP常用命令,持续更新中……
- STM32 photoresistor sensor & two channel AD acquisition
- RDF query language SPARQL
- 点赞的云函数
- Overview of the construction details of Meizhou veterinary laboratory
- Neural networks - use sequential to build neural networks
- 【暑期每日一题】洛谷 P2026 求一次函数解析式
- 1076 Forwards on Weibo
- Take a cold bath
- Pytoch (III) -- function optimization
猜你喜欢
![AssertionError assert I.ndim == 4 and I.shape[1] == 3](/img/b1/0109bb0f893eb4c8915df36c100907.png)
AssertionError assert I.ndim == 4 and I.shape[1] == 3

Solution: drag the Xib control to the code file, and an error setvalue:forundefined key:this class is not key value coding compliant for the key is reported

手动实现一个简单的栈

分布式锁的实现

分布式-总结列表

Pytest automated testing - compare robotframework framework

STM32扩展版 按键扫描

分布式事务-解决方案

Dede collection plug-in does not need to write rules

C - detailed explanation of operators and summary of use cases
随机推荐
LeetCode_ 58 (length of last word)
Design experience of Meizhou clinical laboratory
Use of dataloader
Introduction to JVM stack and heap
LeetCode_53(最大子数组和)
LeetCode_58(最后一个单词的长度)
Distributed architecture system splitting principles, requirements and microservice splitting steps
FileOutPutStream
Distributed transactions - Solutions
LeetCode_66(加一)
LeetCode_35(搜索插入位置)
PR 2021 quick start tutorial, learn about the and functions of the timeline panel
【暑期每日一题】洛谷 P5740【深基7.例9】最厉害的学生
字符输入流与字符输出流
Difficulties in the development of knowledge map & the importance of building industry knowledge map
[daily question in summer] Luogu p7222 [rc-04] informatics competition
The design points of voice dialogue system and the importance of multi round dialogue
[daily question in summer] first time, second time, deal!
RuntimeError: “max_pool2d“ not implemented for ‘Long‘
The longest increasing subsequence and its optimal solution, total animal weight problem