zoukankan      html  css  js  c++  java
  • LightOJ

    Time Limit: 2000MS   Memory Limit: 32768KB   64bit IO Format: %lld & %llu

    Status

    Description

    Bamboo Pole-vault is a massively popular sport in Xzhiland. And Master Phi-shoe is a very popular coach for his success. He needs some bamboos for his students, so he asked his assistant Bi-Shoe to go to the market and buy them. Plenty of Bamboos of all possible integer lengths (yes!) are available in the market. According to Xzhila tradition,

    Score of a bamboo = Φ (bamboo's length)

    (Xzhilans are really fond of number theory). For your information, Φ (n) = numbers less than n which are relatively prime (having no common divisor other than 1) to n. So, score of a bamboo of length 9 is 6 as 1, 2, 4, 5, 7, 8 are relatively prime to 9.

    The assistant Bi-shoe has to buy one bamboo for each student. As a twist, each pole-vault student of Phi-shoe has a lucky number. Bi-shoe wants to buy bamboos such that each of them gets a bamboo with a score greater than or equal to his/her lucky number. Bi-shoe wants to minimize the total amount of money spent for buying the bamboos. One unit of bamboo costs 1 Xukha. Help him.

    Input

    Input starts with an integer T (≤ 100), denoting the number of test cases.

    Each case starts with a line containing an integer n (1 ≤ n ≤ 10000) denoting the number of students of Phi-shoe. The next line contains n space separated integers denoting the lucky numbers for the students. Each lucky number will lie in the range [1, 106].

    Output

    For each case, print the case number and the minimum possible money spent for buying the bamboos. See the samples for details.

    Sample Input

    3

    5

    1 2 3 4 5

    6

    10 11 12 13 14 15

    2

    1 1

    Sample Output

    Case 1: 22 Xukha

    Case 2: 88 Xukha

    Case 3: 4 Xukha

    Source

    Problem Setter: Mir Wasi Ahmed
    Special Thanks: F.A. Rezaur Rahman Chowdhury, Jane Alam Jan
    /**
              题意:f(n) 表示 小于等于 n 的数中素数的个数;给出一串数 比如x 求f(x) >= x 的最小和
              做法:欧拉函数 
    **/
    #include <iostream>
    #include<cmath>
    #include<string.h>
    #include<stdio.h>
    #include<algorithm>
    #include<stack>
    #define maxn 1000000 + 10
    int mindiv[maxn],phi[maxn],sum[maxn];
    int mmap[maxn];
    int mmpp[maxn];
    using namespace std;
    void solve()
    {
        for(int i=1; i<maxn; i++)
        {
            mindiv[i] = i;
        }
        for(int i=2; i*i<maxn; i++)
        {
            if(mindiv[i] == i)
            {
                for(int j=i*i; j<maxn; j+=i)
                {
                    mindiv[j] = i;
                }
            }
        }
        phi[1] = 1;
        for(int i=2; i<maxn; i++)
        {
            phi[i] = phi[i/mindiv[i]];
            if((i/mindiv[i])%mindiv[i] == 0)
            {
                phi[i] *=mindiv[i];
            }
            else
            {
                phi[i] *= mindiv[i] -1;
            }
        }
    }
    int main()
    {
    #ifndef ONLINE_JUDGE
        freopen("in.txt","r",stdin);
    #endif // ONLINE_JUDGE
              int T;
              scanf("%d",&T);
        int n;
        solve();
        int Case = 1;
        while(T--)
        {
                        scanf("%d",&n);
            int res = 0;
            long long sum = 0;
            for(int i=0; i<n; i++)
            {
                scanf("%d",&mmpp[i]);
            }
            sort(mmpp,mmpp+n);
            int tt=  0,Index = 0;
            int j = 2;
            phi[1] = 1;
            for(int i=0; i<n; )
            {
                if(phi[j] >= mmpp[i])
                {
                    sum += j;
                    i++;
                }
                else j++;
            }
            printf("Case %d: %lld Xukha
    ",Case++,sum);
        }
        return 0;
    }
  • 相关阅读:
    基本技能训练之线程
    关于UEditor的使用配置(图片上传配置)
    PAT 乙级练习题1002. 写出这个数 (20)
    codeforces 682C Alyona and the Tree DFS
    codeforces 681D Gifts by the List dfs+构造
    codeforces 678E Another Sith Tournament 概率dp
    codeforces 680E Bear and Square Grid 巧妙暴力
    codeforces 678D Iterated Linear Function 矩阵快速幂
    codeforces 679A Bear and Prime 100 交互
    XTUOJ 1248 TC or CF 搜索
  • 原文地址:https://www.cnblogs.com/chenyang920/p/4445555.html
Copyright © 2011-2022 走看看