D - AND and SUM
#includeusing namespace std;const int N = 1e3 + 10;const int mod = 998244353;long long dp[5][5][(1 << 10) + 10];typedef long long ll;string s;ll n, m;ll poww (ll a, ll b) { ll ans = 1; while (b) { if (b & 1) ans = ans * a % mod; b >>= 1; a = a * a %mod; } return ans;}void solve() { ll a, s; cin >> a >> s; string ans = "No"; if (2 * a <= s) { ll dif = s - 2 * a; if ((dif & a) == 0) ans = "Yes"; } cout << ans << endl;}int main () { int t; cin >> t; while (t --) solve(); return 0;}
通过令x是都为1的集合,b是其中之一是1的集合,a&b=0 所以y = s - 2 * x 这题通过构造一个解。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~