zoukankan      html  css  js  c++  java
  • [bzoj3994]约数个数和

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 #define N 50005
     4 long long n,m,ans,mu[N],f[N],t[N],vis[N],p[N];
     5 void xxs(int n){
     6     mu[1]=f[1]=1;
     7     for(int i=2;i<=n;i++){
     8         if (!vis[i]){
     9             p[++p[0]]=i;
    10             mu[i]=-1;
    11             t[i]=1;
    12             f[i]=2;
    13         }
    14         for(int j=1;(j<=p[0])&&(i*p[j]<=n);j++){
    15             vis[i*p[j]]=1;
    16             if (i%p[j]==0){
    17                 t[i*p[j]]=t[i]+1;
    18                 f[i*p[j]]=f[i]/(t[i]+1)*(t[i]+2);
    19                 break;
    20             }
    21             t[i*p[j]]=1;
    22             f[i*p[j]]=f[i]*2;
    23             mu[i*p[j]]=-mu[i];
    24         }
    25     }
    26     for(int i=2;i<=n;i++){
    27         f[i]+=f[i-1];
    28         mu[i]+=mu[i-1];
    29     }
    30 }
    31 int main(){
    32     xxs(N-5);
    33     int t;
    34     scanf("%d",&t);
    35     while (t--){
    36         scanf("%lld%lld",&n,&m);
    37         if (n>m)swap(n,m);
    38         ans=0;
    39         for(int i=1,j;i<=n;i=j+1){
    40             j=min(n/(n/i),m/(m/i));
    41             ans+=(mu[j]-mu[i-1])*f[n/i]*f[m/i];
    42         }
    43         printf("%lld\n",ans);
    44     }
    45 }
    View Code
  • 相关阅读:
    C he 指针
    typedef 与 define
    (转)ubuntu中安装man手册查看函数原型
    .9 赫夫曼编码
    .8 AVL树
    PowerDesigner使用技巧
    C#基础
    NET框架设计
    Sql Server 执行计划及Sql查询优化
    SQL SERVER函数浅析
  • 原文地址:https://www.cnblogs.com/PYWBKTDA/p/11249914.html
Copyright © 2011-2022 走看看