站外题求助
  • 板块学术版
  • 楼主shicj
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/10/3 15:19
  • 上次更新2023/11/2 16:08:37
查看原帖
站外题求助
678625
shicj楼主2023/10/3 15:19

这里有一段AC代码,但我不理解

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef __int128 lll;
ll N,n,m,i;lll x,y,s;
void P(){
	cin>>n>>m;s=(lll)n*m;
	for(i=0;i<60;i++){
		x=(n>>i)-(n>>(i+1));
		y=(m>>i)-(m>>(i+1));
		s-=x*y;
	}
	cout<<(ll)(s%993244853)<<'\n';
}
int main(){
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	cin>>N;while(N--)P();
}

求解释或者新思路,谢谢

2023/10/3 15:19
加载中...