A. 【CSP-J模拟赛七】--F验算
令t=y-x,满足t>=x和t&x=x即可。
证明过程:
必要性:1.若存在满足条件的a和b,则a>=x,b>=x,所以a+b>=2x,即t=y-x>=x。
2.令c+x=a,d+x=b,其中c&x=0,d&x=0。所以a+b=c+x+d+x=c+d+2x=y,所以c+d=y-2x,即c+d=t-x。
根据进位约束,我们知道(c+d)&x=0,即(t-x)&x=0,等价于t&x=x。
充分性:令a=x,b=t即可满足条件。
#include<bits/stdc++.h>
using namespace std;
#define int long long
int T;
int x,y;
signed main()
{
cin>>T;
while(T--){
scanf("%lld%lld", &x, &y);
int t=y-x;
if(t>=x&&(t&x)==x)
printf("Yes\n");
else printf("No\n");
}
return 0;
}
B. 【NOIP模拟赛四】--B狼群(wolf)
我不会。
C. 【NOIP模拟赛四】--C--比赛(match)
我不会。
D. 【NOIP模拟赛四】--D半完全幂(power)
我不会。
总结:我是蒟蒻