当前位置:网站首页>Niu Mei's mathematical problem --- combinatorial number
Niu Mei's mathematical problem --- combinatorial number
2022-07-07 08:01:00 【Wawa source】
#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>
using namespace std;
typedef pair<int,int>PII;
#define int long long
const int N =10000010,mod=998244353;
int n,k;
int fact[N],infact[N],p2[N];
int x;
int qmi(int a,int b)
{
int res=1;
while(b)
{
if(b&1)res=res*a%mod;
a=a*a%mod;
b>>=1;
}
return res%mod;
}
int C(int a,int b)
{
if(a<b)return 0;
return fact[a]*infact[b]%mod*infact[a-b]%mod;
}
signed main()
{
scanf("%lld %lld",&n,&k);
int cnt1=0,cnt2=0;
for(int i=1;i<=n;i++)
{
scanf("%lld",&x);
if(x==1)cnt1++;
else if(x==2)cnt2++;
}
// Preprocessing
p2[0]=fact[0]=infact[0]=1;
for(int i=1;i<=n;i++)
{
fact[i]=fact[i-1]*i%mod;
p2[i]=2*p2[i-1]%mod;
}
infact[n]=qmi(fact[n],mod-2);
for(int i=n-1;i>=1;i--)infact[i]=infact[i+1]*(i+1)%mod;
// Calculation
int res=0;
for(int i=0;i<=k;i++)res=(res+C(cnt1,i)*C(cnt2,k-i)%mod*p2[k-i]%mod)%mod;
printf("%lld\n",res);
}
边栏推荐
- Operation suggestions for today's spot Silver
- Rust Versus Go(哪种是我的首选语言?)
- The principle and implementation of buffer playback of large video files
- Introduction to basic components of wechat applet
- LeetCode 40:组合总和 II
- Ansible
- 探索Cassandra的去中心化分布式架构
- C language flight booking system
- Chip design data download
- B. Value sequence thinking
猜你喜欢
Few shot Learning & meta learning: small sample learning principle and Siamese network structure (I)
[SUCTF 2019]Game
PHP exports millions of data
Detailed explanation of Kalman filter for motion state estimation
Force buckle 145 Binary Tree Postorder Traversal
You Li takes you to talk about C language 6 (common keywords)
开源生态|打造活力开源社区,共建开源新生态!
Codeforces Global Round 19
Quickly use Jacobo code coverage statistics
Resource create package method
随机推荐
pytest+allure+jenkins安装问题:pytest: error: unrecognized arguments: --alluredir
Pytorch parameter initialization
mysql多列索引(组合索引)特点和使用场景
芯片资料 网站 易特创芯
Chip information website Yite Chuangxin
Force buckle 144 Preorder traversal of binary tree
【数字IC验证快速入门】15、SystemVerilog学习之基本语法2(操作符、类型转换、循环、Task/Function...内含实践练习)
Explore dry goods! Apifox construction ideas
有 Docker 谁还在自己本地安装 Mysql ?
Redis technology leak detection and filling (II) - expired deletion strategy
Linux server development, MySQL cache strategy
Linux server development, MySQL process control statement
[Stanford Jiwang cs144 project] lab4: tcpconnection
Live broadcast platform source code, foldable menu bar
Hands on deep learning (IV) -- convolutional neural network CNN
CTF daily question day43 rsa5
Value sequence (subsequence contribution problem)
Téléchargement des données de conception des puces
Linux server development, detailed explanation of redis related commands and their principles
2022年茶艺师(中级)考试试题及模拟考试