[Beijing wc2012]算不出的算式
OJ题号:BZOJ2659
思路:数学。
建立平面直角坐标系。在第一象限作直线y=qx/p,易得Σ[kq/p]即为当x<(p/2)时,直线下方(包括直线)的整点数;Σ[kp/q]为当y<(q/2)时,直线上方(包括直线)的整点数。因此答案即为(p-1)*(q-1)/4。注意当p==q时,要将直线上的点算两遍。
1 #include<cstdio> 2 int main() { 3 long long p,q; 4 scanf("%lld%lld",&p,&q); 5 printf("%lld\n",(p==q)?((p*p-1)>>2):(((p-1)*(q-1))>>2)); 6 return 0; 7 }