2 条题解
-
1
12134陈泓凯 LV 5 MOD @ 2025-03-10 16:29:30
#include <iostream> using namespace std; long long compute_xor(long long n) { int mod = n % 4; if (mod == 0) return n; else if (mod == 1) return 1; else if (mod == 2) return n + 1; else return 0; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int T; cin >> T; while (T--) { long long l, r; cin >> l >> r; long long result = compute_xor(r) ^ compute_xor(l - 1); cout << result << '\n'; } return 0; }
-
02025-03-08 22:06:30@
#include<bits/stdc++.h> #define int long long using namespace std; int t,l,r,cm[65]; int cg(int x) { int ans=0; for(int i=1;x>=cm[i-1];i++) { int a1=x/cm[i],a2=x%cm[i],dans=0; if(i==1)dans=a1%2^(a2==1); else if(a2>=cm[i-1]&&a2%2==0)dans^=cm[i-1]; ans^=dans; } return ans; } signed main() { scanf("%lld",&t); cm[0]=1; for(int i=1;i<=63;i++) cm[i]=cm[i-1]*2; while(t--) { scanf("%lld%lld",&l,&r); printf("%lld\n",cg(l-1)^cg(r)); } return 0; }
- 1
信息
- ID
- 1011
- 难度
- 9
- 分类
- (无)
- 标签
- (无)
- 递交数
- 2
- 已通过
- 2
- 通过率
- 100%
- 上传者