出题人题解||快去打瓦 题解
原题链接:116095.快去打瓦2026-05-05 20:44:15
发布于:广东
T1_快去打瓦 题解
前置知识:
其中 表示异或运算, 表示 里面的 运算。
稍微说一下, 表示了二进制下 但是不考虑进位,不处理进位的结果,即不进位加。
然后 又表示二进制下所有 会进位的位权和,把这个位权和乘 就是只处理进位得到的结果。
所以把这两个东西加在一起就是 。
然后对于本题我们有一个结论如下。
结论:。
证明:
证毕。
所以两个数的时候答案就是这两个数的和,同理,三个数的时候就是三个数的和, 个数的时候就是 。
#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,x,ans;
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n;
for(int i = 1;i<=n;++i){
cin>>x;
ans+=x;
}
cout<<ans;
}
时间复杂度:
全部评论 1
果然还得是zsr,%%%
2天前 来自 浙江
0
















有帮助,赞一个