这题不能用bitset优化么?
查看原帖
这题不能用bitset优化么?
890321
mooktian楼主2024/4/20 10:02

我想用bitset优化下这一题,不知道错在哪里了,请帮忙看看。代码如下:

#include <bits/stdc++.h>
using namespace std;
#define ll long long
int n,m,x;
bitset<100008> a,b,ans; 
int main() {
	cin >> n;
	for(int i = 1,v;i <= n;i++) cin >> v,a[v] = 1;
	b.set();
	cin >> m;
	for(int i = 1,v;i <= m;i++) cin >> v,b[v] = 0;
	cin >> x;
	ans[0] = 1;
	for(int j = 0;j <= x;j++) {
		if(ans[j] == 1) {
				ans ^= a << j;
				ans &= b;
		}
		if(ans[x] == 1) {
			cout <<"Yes\n";
			return 0;
		}
	}
	cout <<"No\n";
    return 0;
}

2024/4/20 10:02
加载中...