zoukankan      html  css  js  c++  java
  • bzoj1607 / P2926 [USACO08DEC]拍头Patting Heads

    P2926 [USACO08DEC]拍头Patting Heads

    把求约数转化为求倍数。

    累计每个数出现的个数,然后枚举倍数累加答案。

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<cctype>
     5 #define re register
     6 using namespace std;
     7 void read(int &x){
     8     static char c=getchar();x=0;
     9     while(!isdigit(c)) c=getchar();
    10     while(isdigit(c)) x=(x<<3)+(x<<1)+(c^48),c=getchar();
    11 }
    12 void output(int x){
    13     if(!x){putchar(48);return;}
    14     static int wt[50],l=0;
    15     while(x) wt[++l]=x%10,x/=10;
    16     while(l) putchar(wt[l--]+48);
    17 }
    18 #define N 1000001
    19 int n,a[100002],d[N],f[N];
    20 int main(){
    21     read(n);
    22     for(re int i=1;i<=n;++i) read(a[i]),++d[a[i]];
    23     for(re int i=1;i<N;++i){
    24         if(!d[i]) continue;
    25         for(re int j=1;j*i<N;++j) f[j*i]+=d[i];
    26     }
    27     for(re int i=1;i<=n;++i)
    28         output(f[a[i]]-1),putchar('
    ');//扣掉自己
    29     return 0;
    30 }
    View Code
  • 相关阅读:
    django文件上传
    django验证码
    auth模块---笔记
    css笔记
    django模板系统---2
    django模板系统
    Django中间件
    前端笔记---1
    我的django笔记---1
    DNS服务器的搭建
  • 原文地址:https://www.cnblogs.com/kafuuchino/p/9847021.html
Copyright © 2011-2022 走看看