当前位置:网站首页>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;
}
边栏推荐
- STM32扩展板 温度传感器和温湿度传感器的使用
- 【暑期每日一题】洛谷 P1568 赛跑
- LeetCode_ 66 (plus one)
- Pytoch (I) -- basic grammar
- How to use common datasets in pytorch
- Shell之Unix运维常用命令
- Oracle views the creation time of the tablespace in the database
- 【暑期每日一题】洛谷 P5740【深基7.例9】最厉害的学生
- Sorting out 49 reports of knowledge map industry conference | AI sees the future with wisdom
- Pytoch (III) -- function optimization
猜你喜欢

VIM easy to use tutorial
![AssertionError assert I.ndim == 4 and I.shape[1] == 3](/img/b1/0109bb0f893eb4c8915df36c100907.png)
AssertionError assert I.ndim == 4 and I.shape[1] == 3

Neural networks - use sequential to build neural networks

How to use common datasets in pytorch

LeetCode522-最长特殊序列II-哈希表-字符串-双指针

STM32 photoresistor sensor & two channel AD acquisition

pytorch中常用数据集的使用方法

How to do the performance pressure test of "Health Code"
![Solution: thread 1:[< *> setvalue:forundefined key]: this class is not key value coding compliant for the key*](/img/88/0b99d1db2cdc70ab72d2b3c623dfaa.jpg)
Solution: thread 1:[< *> setvalue:forundefined key]: this class is not key value coding compliant for the key*

每日一题-LeetCode1175-质数排列-数学
随机推荐
Summary of acl2021 information extraction related papers
技术分享| 融合调度中的广播功能设计
Neural networks - use sequential to build neural networks
C - detailed explanation of operators and summary of use cases
The longest increasing subsequence and its optimal solution, total animal weight problem
【暑期每日一题】洛谷 P2026 求一次函数解析式
JS to solve the problem of floating point multiplication precision loss
[daily question in summer] first time, second time, deal!
Principle, technology and implementation scheme of data consistency in distributed database
Leecode question brushing record 1310 subarray XOR query
【暑期每日一题】洛谷 P7222 [RC-04] 信息学竞赛
无器械健身
LeetCode_ 28 (implement strstr())
Overview of the construction details of Meizhou veterinary laboratory
Shell之一键自动部署Redis任意版本
Introduction to JVM stack and heap
[hard ten treasures] - 1 [basic knowledge] classification of power supply
Serialization and deserialization of objects
Dede collection plug-in does not need to write rules
Openresty rewrites the location of 302