当前位置:网站首页>Niu Mei's math problems
Niu Mei's math problems
2022-07-05 06:16:00 【whitewall_ nine】
#include<bits/stdc++.h>
using namespace std;
#define rep(i,l,r) for(int i=(l);i<=(r);i++)
#define per(i,l,r) for(int i=(l);i>=(r);i--)
#define ll long long
#define pii pair<int, int>
#define mset(s,t) memset(s,t,sizeof(t))
#define mcpy(s,t) memcpy(s,t,sizeof(t))
#define fir first
#define pb push_back
#define sec second
#define sortall(x) sort((x).begin(),(x).end())
inline int read () {
int x = 0, f = 0;
char ch = getchar();
while (!isdigit(ch)) f |= (ch=='-'),ch= getchar();
while (isdigit(ch)) x = x * 10 + ch - '0', ch = getchar();
return f?-x:x;
}
template<typename T> void print(T x) {
if (x < 0) putchar('-'), x = -x;
if (x >= 10) print(x/10);
putchar(x % 10 + '0');
}
#define int long long
const int N = 1e7 + 5;
const int mod = 998244353;
int n, k;
int fac[N], infac[N];
int a[N];
int pow2[N];
int qmi (int a, int b, int c) {
int ans = 1 %c;
while (b) {
if (b & 1) ans =ans * a % c;
b >>= 1;
a = a * a % c;
}
return (ans %c+ c)%c;
}
int C(int n,int m)
{
if(n<m) return 0;
return fac[n]*infac[m]%mod*infac[n-m]%mod;
}
void init () {
//cout << qmi(3, mod- 2, mod) << endl;
pow2[0] = 1;
fac[0] = 1;
for (int i =1; i< N ; i++)
fac[i] = fac[i - 1] * i %mod;
for (int i = 1; i < N; i++)
pow2[i] = pow2[i - 1] * 2 %mod;
infac[N - 1] = qmi (fac[N - 1], mod - 2, mod) %mod;
infac[0] = infac[1] = 1;
for (int i = N - 1; i>= 1; i--)
infac[i - 1] = infac[i] * i %mod;
}
void solve() {
cin >> n >> k;
init();
// cout << C(3, 1) << endl;
int one = 0, two = 0;
for (int i = 1; i <= n; i ++ )
{
cin >> a[i];
if (a[i] == 1) one ++;
else if (a[i] == 2) two ++;
}
int ans = 0;
for (int i = 0; i <= k; i++) {
ans = ((ans + C(one, i) * C(two, k - i) %mod * pow2[k - i] %mod + mod) %mod + mod) %mod;
}
cout << ans << endl;
}
signed main () {
int t;
t = 1;
while (t --) solve();
}
By looking at the data range , Statistics 1 and 2 The number of ,0 No contribution , Sure . This continuous summation can be regarded as a sequence . And the solution of inverse element , The linear method can be found by observing the formula , At first, I didn't think from the perspective of formula
边栏推荐
- MySQL advanced part 2: MySQL architecture
- RGB LED infinite mirror controlled by Arduino
- Sqlmap tutorial (1)
- leetcode-6108:解密消息
- Groupbykey() and reducebykey() and combinebykey() in spark
- [rust notes] 17 concurrent (Part 2)
- MIT-6874-Deep Learning in the Life Sciences Week 7
- LeetCode 0107.二叉树的层序遍历II - 另一种方法
- New title of module a of "PanYun Cup" secondary vocational network security skills competition
- TypeScript 基础讲解
猜你喜欢
随机推荐
Daily question 2013 Detect square
1.13 - RISC/CISC
1041 Be Unique
[rust notes] 13 iterator (Part 2)
打印机脱机时一种容易被忽略的原因
Règlement sur la sécurité des réseaux dans les écoles professionnelles secondaires du concours de compétences des écoles professionnelles de la province de Guizhou en 2022
Network security skills competition in Secondary Vocational Schools -- a tutorial article on middleware penetration testing in Guangxi regional competition
Data visualization chart summary (I)
Open source storage is so popular, why do we insist on self-development?
MatrixDB v4.5.0 重磅发布,全新推出 MARS2 存储引擎!
Traditional databases are gradually "difficult to adapt", and cloud native databases stand out
[rust notes] 16 input and output (Part 1)
MySQL advanced part 2: the use of indexes
Matrixdb V4.5.0 was launched with a new mars2 storage engine!
Sqlmap tutorial (1)
Data visualization chart summary (II)
6. Logistic model
A reason that is easy to be ignored when the printer is offline
阿里新成员「瓴羊」正式亮相,由阿里副总裁朋新宇带队,集结多个核心部门技术团队
On the characteristics of technology entrepreneurs from Dijkstra's Turing Award speech








