例子 : F-一起找神秘的数!_2025牛客寒假算法基础集训营2
分析 :
看到位运算 ,感觉要祭了 怎么办 ? 别慌 ,有一种手段叫打表 ,利用计算机的算力来辅助验证自己的一些猜想 !!! 这样更容易发现某些规律 !
我们可以暴力枚举一段范围之中符合条件的 x , y 。时间复杂度为 O(n*n) 建议先试用 1-1000 的范围 ( 1e6 )。
#include<bits/stdc++.h> using namespace std; int t; signed main() { ios::sync_with_stdio(0),cin.tie(0); cin>>t; auto solve = [&](){ int l,r; cin>>l>>r; for(int i=l;i<=r;++i){ for(int j=l;j<=r;++j){ if((i+j)==(i|j)+(i&j)+(i^j)) cout<<i<<" "<<j<<'\n'; } } }; while(t--) solve(); return 0; }
我们发现 只有当 x = y 的时候满足上试子
C++ ACcode
#include<bits/stdc++.h> using namespace std; int t,l,r; signed main() { ios::sync_with_stdio(0),cin.tie(0); cin>>t; auto solve = [&](){ cin>>l>>r; cout<<r-l+1<<'\n'; }; while(t--) solve(); return 0; }