PoPoQQQ的讲义例一的一半……好吧这题是那题的基础部分= =很水……

WA了一次:因为没强制类型转换LL

 1 /**************************************************************
 2     Problem: 1101
 3     User: Tunix
 4     Language: C++
 5     Result: Accepted
 6     Time:6896 ms
 7     Memory:1908 kb
 8 ****************************************************************/
 9  
10 //BZOJ 1101
11 #include<cstdio>
12 #include<cstdlib>
13 #include<cstring>
14 #include<iostream>
15 #include<algorithm>
16 #define rep(i,n) for(int i=0;i<n;++i)
17 #define F(i,j,n) for(int i=j;i<=n;++i)
18 #define D(i,j,n) for(int i=j;i>=n;--i)
19 using namespace std;
20  
21 int getint(){
22     int v=0,sign=1; char ch=getchar();
23     while(ch<'0'||ch>'9') {if (ch=='-') sign=-1; ch=getchar();}
24     while(ch>='0'&&ch<='9') {v=v*10+ch-'0'; ch=getchar();}
25     return v*=sign;
26 }
27 /*******************tamplate********************/
28 const int N=50010;
29 typedef long long LL;
30 int prime[N],mu[N],sum[N];
31 bool check[N];
32 void getmu(){
33     mu[1]=1;
34     int tot=0;
35     for(int i=2;i<N;++i){
36         if (!check[i]){
37             prime[tot++]=i;
38             mu[i]=-1;
39         }
40         rep(j,tot){
41             if (i*prime[j]>N) break;
42             check[i*prime[j]]=1;
43             if (i%prime[j])
44                 mu[i*prime[j]]=-mu[i];
45             else{
46                 mu[i*prime[j]]=0;
47                 break;
48             }
49         }
50     }
51     F(i,1,N-1) sum[i]=sum[i-1]+mu[i];
52 }
53 LL calc(int m,int n,int k){
54     int i,last;
55     LL re=0;
56     n/=k; m/=k;
57     for(i=1;i<=m && i<=n;i=last+1){
58         last=min(n/(n/i),m/(m/i));
59         re+=(LL)(sum[last]-sum[i-1])*(m/i)*(n/i);
60     }
61     return re;
62 }
63 int main(){
64     int n=getint(),a,b,d;
65     getmu();
66     F(i,1,n){
67         a=getint(); b=getint(); d=getint();
68         printf("%lld\n",calc(a,b,d));
69     }
70     return 0;
71 }
View Code

相关文章:

  • 2022-12-23
  • 2022-01-18
  • 2021-09-08
  • 2021-11-28
  • 2021-11-05
  • 2022-01-09
  • 2022-01-11
猜你喜欢
  • 2022-03-02
  • 2022-01-16
  • 2021-09-25
  • 2021-10-03
  • 2021-05-16
  • 2021-11-14
  • 2021-11-05
相关资源
相似解决方案