zoukankan      html  css  js  c++  java
  • poj3090 Visible Lattice Points

    被机房oierA穿的一道题……

    我最后还是靠着打表想出来了

    其实就先沿着对角线分开 看一半

    然后发现没有被覆盖的点纵坐标都是横坐标的因数

    所以被覆盖的点就是欧拉函数

    预处理一下前缀和 O(1000)

    Code:

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<algorithm>
     4 #include<cmath>
     5 #include<queue>
     6 #include<vector>
     7 #define ms(a,b) memset(a,b,sizeof a)
     8 #define rep(i,a,n) for(int i = a;i <= n;i++)
     9 #define per(i,n,a) for(int i = n;i >= a;i--)
    10 #define inf 2147483647
    11 using namespace std;
    12 typedef long long ll;
    13 ll read() {
    14     ll as = 0,fu = 1;
    15     char c = getchar();
    16     while(c < '0' || c > '9') {
    17         if(c == '-') fu = -1;
    18         c = getchar();
    19     }
    20     while(c >= '0' && c <= '9') {
    21         as = as * 10 + c - '0';
    22         c = getchar();
    23     }
    24     return as * fu;
    25 }
    26 const int N = 1005;
    27 //head
    28 int c;
    29 int n;
    30 int mindiv[N],prim[N],phi[N];
    31 int sig[N];
    32 void initphi(int n) {
    33     phi[0] = phi[1] = 1;
    34     mindiv[0] = mindiv[1] = 1;
    35     rep(i,2,n) {
    36     if(!mindiv[i]) prim[++prim[0]] = i,phi[i] = i-1;
    37     for(int j = 1;j <= prim[0] && i * prim[j] <= n;j++) {
    38         mindiv[i * prim[j]] = prim[j];
    39         if(i % prim[j] == 0) phi[i * prim[j]] = phi[i] * prim[j];
    40         else phi[i * prim[j]] = phi[i] * (prim[j]-1);
    41     }
    42     }
    43 }
    44 
    45 int main() {
    46     initphi(1001);
    47     rep(i,1,1000) sig[i] = sig[i-1] + phi[i];
    48     int T = read();
    49     rep(i,1,T) {
    50     int n = read();
    51     printf("%d %d %d
    ",i,n,(sig[n]<<1)+1);
    52     }
    53     return 0;
    54 }
    > 别忘了 总有人在等着你
  • 相关阅读:
    03.部署 kubectl 命令行工具
    02.创建 CA 证书和秘钥
    01.组件版本和集群环境
    23.kubernetes 组件版本和配置策略
    22.Kubernetes Ingress: HTTP 7层路由机制
    Python程序中#-*-coding: UTF-8 -*-的作用
    Python程序中首行#!/usr/bin/env python的作用
    mac install php dev
    linux的nohup disown setsid screen
    linux 常用查找命令 小技巧
  • 原文地址:https://www.cnblogs.com/yuyanjiaB/p/9778091.html
Copyright © 2011-2022 走看看