zoukankan      html  css  js  c++  java
  • HDU 6063

     比赛时候面向过题队伍数目 打表- -

    看了题解发现确实是这么回事,分析能力太差..

    /*
    HDU 6063 - RXD and math [ 数学,规律 ]  |  2017 Multi-University Training Contest 3
    题意:
    	求 Σ μ(i)^2 * sqrt( n^k/i ) [ 1 <= i<= n^k ]
    	n,k <= 1e18
    分析:
    	首先 μ(i) 为莫比乌斯函数,若 i 是完全平方数的倍数则 μ(i) = 0 ,否则 μ(i) = ±1
    	所以只有不是完全平方数的倍数的数才会对答案产生贡献
    	然后任何数都能表示为 x =  a^2*b,即仅为一个非完全平方数的b的平方倍数
    	n^k/i 代表 n^k 中 i 的倍数的个数
    	则 sqrt(n^k/i) 代表 i 的 平方倍数 的个数
    	联系前面的 x =  a^2*b ,可推得相当于每个数都只算了一次
    	故答案为 n^k
    */
    #include <bits/stdc++.h>
    using namespace std;
    #define LL long long
    const LL MOD = 1e9+7;
    LL PowMod(LL a, LL m)
    {
        a %= MOD;
        LL ret = 1;
        while (m)
        {
            if (m&1) ret = ret*a%MOD;
            a = a*a % MOD;
            m >>= 1;
        }
        return ret%MOD;
    }
    int main()
    {
        LL n, k;
        int tt = 0;
        while (~scanf("%lld%lld", &n, &k))
        {
            printf("Case #%d: %lld
    ", ++tt, PowMod(n, k));
        }
    }
    我自倾杯,君且随意
  • 相关阅读:
    CF1458D
    CF1415F
    CF612F
    部分博客请移步Gitbub
    Vlc视频插件遮挡弹出框
    kubernetes容器编排YAML详解
    Kubernetes核心技术之Pod
    Kubeadm搭建K8S集群
    博客配套工程公开
    Modelsim联合Matlab搭建FPGA图像仿真平台
  • 原文地址:https://www.cnblogs.com/nicetomeetu/p/7273658.html
Copyright © 2011-2022 走看看