26.方程

描述:

思想:
这里可以把该方程理解为,与a做或运算可以表示为将a中的某一位变为0或者不变,为了保持等式两边平衡,只能在a在二进制下为0的进制位进行操作,于此同时加上的也是对应的一个数。即统计a中为0的个数,然后做排列组合。

代码:

#include <bits/stdc++.h>
using namespace std;
#define MOD 998244353
int main() {
    int n;
    cin >> n;
    string str;
    cin >> str;
    int count = 0;
    for(int i = 0;i < n;i++){
        if(str[i] == '0'){
            count++;
        }
    }
    long long res = 1;
    for(int i = 0;i<count;i++){
        res *= 2;
        res %= MOD;
    }
    cout << res << endl;
}
posted @ 2024-09-07 17:21  alone_qing  阅读(16)  评论(0)    收藏  举报