zoukankan      html  css  js  c++  java
  • BZOJ 2190[SDOI2008]仪仗队

    Description

      作为体育委员,C君负责这次运动会仪仗队的训练。仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图)。       现在,C君希望你告诉他队伍整齐时能看到的学生人数。

    Input

      共一个数N。

    Output

      共一个数,即C君应看到的学生人数。

    Sample Input

      4

    Sample Output

      9


    HINT

    【数据规模和约定】   对于 100% 的数据,1 ≤ N ≤ 40000

    题解 
    ……求出phi,算算
     1 #include<cstdio>
     2 const int maxn=40010;
     3 bool pd[maxn];
     4 int phi[maxn],prime[maxn],top,n,ans;
     5 void ES(){
     6     for(int i=2;i<n;i++){
     7         if (!pd[i]){
     8             prime[++top]=i;
     9             phi[i]=i-1;
    10         }
    11         for (int j=1;j<=top&&prime[j]*i<=n;j++){
    12             pd[prime[j]*i]=1;
    13             if (i%prime[j]==0){
    14                 phi[prime[j]*i]=phi[i]*prime[j];
    15                 break;
    16             }
    17             phi[prime[j]*i]=phi[i]*(prime[j]-1);
    18         }
    19     } 
    20 }
    21 
    22 int main(){
    23     scanf("%d",&n);
    24     ES();
    25     for(int i=1;i<n;i++) phi[i]+=phi[i-1];
    26     ans=phi[n-1]*2+3;
    27     printf("%d",ans);
    28 }
  • 相关阅读:
    beeline链接hive报错
    Java并发之FairSync和NonfairSync
    如何在 Linux 中将文件编码转换为 UTF-8
    Spring Boot运行原理
    jvm垃圾回收
    jvm调试工具
    Nginx相关
    docker 配置jar ,运行
    centos7的一些安装问题
    Docker
  • 原文地址:https://www.cnblogs.com/wuminyan/p/5116148.html
Copyright © 2011-2022 走看看