CF1066E Binary Numbers AND Sum

思路:

模拟。
实现:

 1 #include <iostream>
 2 using namespace std;
 3 const int MOD = 998244353;
 4 char a[200005], b[200005];
 5 int sum[200005];
 6 int main()
 7 {
 8     int n, m;
 9     while (cin >> n >> m)
10     {
11         for (int i = n - 1; i >= 0; i--) cin >> a[i];
12         for (int i = m - 1; i >= 0; i--) 
13         { 
14             cin >> b[i]; 
15             sum[i] = sum[i + 1] + b[i] - '0'; 
16         }
17         long long ans = 0, pw = 1;
18         for (int i = 0; i < n; i++)
19         {
20             if (a[i] == '1')
21                 ans = (ans + (sum[i] * pw) % MOD) % MOD;
22             pw = pw * 2 % MOD;
23         }
24         cout << ans << endl;
25     }
26     return 0;
27 }
原文地址:https://www.cnblogs.com/wangyiming/p/9798619.html