Bzoj 3505: [Cqoi2014]数三角形 数论

时间:2022-04-25 09:44:41

3505: [Cqoi2014]数三角形

Time Limits: 1000 ms  Memory Limits: 524288 KB  Detailed Limits  

Description

aaarticlea/png;base64,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" alt="" />
 

Input

输入一行,包含两个空格分隔的正整数m和n。

Output

输出一个正整数,为所求三角形数量。
 

Sample Input

输入1:

1 1

输入2:

2 2

Sample Output

输出1:

4

输出2:

76
 

Data Constraint

对于30%的数据 1<=m,n<=10

对于100%的数据 1<=m,n<=1000

 
题解:
数论
首先,我们可以将问题转化一下, 可以形成的三角形的个数=任选三个点的个数-三点共线个数
设总点数为k,则k=(n+1)*(m+1)
任选三个点的个数很简单:(k*(k-1)*(k-2))/6
至于三点共线个数,我们可以发现枚举每个点(i,j),则 (i,j) 和 (1,1) 再和 其他的一个点 能共线的个数为Gcd(i,j)-1,还有,因为我们枚举的点为(i,j),我们可以把(1,1)和(i,j)看为一个矩形,那么明显是可以在大的矩形中移动的。也就是我们算的线为(1,1)到(i,j)的线,但是其平行的线我们还要再算的,所以用 每个点的个数乘上(n-i+1)*(m-j+1)。然后我们把所有的点都计算一遍,然后把 和 乘2(因为我们刚才考虑的为从左下角往右上角偏的,不一定是平行,也就是和这个箭头差不多的方向↗️。我们还要考虑这种样子的↖️,显然两种的个数相等,所以要乘2。)最后,我们发现左右的线↔️和上下的线↕️没有减去,所以要单独减。
 
 #include<bits/stdc++.h>
using namespace std;
#define LL long long
LL Gcd(int aa,int bb){if(bb==)return aa;else return Gcd(bb,aa%bb);}
int main()
{
LL n,m,k,k1,ans,i,j,tot=;
scanf("%lld %lld",&n,&m);
k=(n+)*(m+);
ans=k*(k-)*(k-)/;
for(i=;i<=n;i++)
{
for(j=;j<=m;j++)
{
k=Gcd(i,j);
if(k>=)tot+=(k-)*(n-i+)*(m-j+);
}
}
n++;m++;
k=m*(m-)*(m-)/;
k1=n*(n-)*(n-)/;
ans-=(n*k+m*k1);
printf("%lld",ans-tot*);
fclose(stdin);
fclose(stdout);
return ;
}