zoukankan      html  css  js  c++  java
  • bzoj4173:数学

    bzoj4173:数学


    φ(n)φ(m)kφ(k)e(m%k+n%kk)
    这玩意儿一眼不可做的感觉,
    我们现在的任务是求出一个玩意儿,使得他与e(m%k+n%kk)相同。
    我们不妨设n=q1k+r1,m=q2k+r2
    那么我们要构造的东西需要满足
    {1 if r1+r2k0 if r1+r2<k
    我们发现(n+m)=(q1+q2)k+(r1+r2)
    这东西将r1r2结合在了一起.
    最后构造出的东西显然就是
    n+mknkmk
    我们最后要求的就变成了φ(n)φ(m)kφ(k)(n+mknkmk)
    不难发现f(n)=ni=1φ(i)ni=ni=1d|iφ(d)=ni=1i
    最后的式子就变成了φ(n)φ(m)(f(n+m)f(n)f(m))
    这三个f加加减减就变成了φ(n)φ(m)nm
    剩下的东西就so easy了

    #include<cstdio>
    #include<algorithm>
    
    typedef long long ll;
    const int Mod = 998244353;
    ll n, m;
    
    ll phi (ll x) {
        ll ans = x;
        for (int i = 2; 1ll * i * i <= x; ++i) if (x % i == 0) {
            ans = ans / i * (i - 1);
            while (x % i == 0) x /= i;
        }
        if (x != 1) ans = ans / x * (x - 1);
        return ans % Mod;
    }
    
    int main () {
        scanf ("%lld%lld", &n, &m);
        printf ("%lld
    ", phi (n) * phi (m) % Mod * (n % Mod) % Mod * (m % Mod) % Mod);
        return 0;
    }
  • 相关阅读:
    SpringCloud大白话之服务注册中心
    Spring事物白话文
    spring的IOC过程剖析
    2、Spring-RootApplicationContext-refresh
    1、spring与springmvc父子容器
    mysql 5.7 主从设置
    centos7下安装oracle11gR2
    lepus安装报错处理
    centos 6.9安装nginx1.4
    Linux 面试题 合集
  • 原文地址:https://www.cnblogs.com/dcoi-king/p/7491424.html
Copyright © 2011-2022 走看看