首页 > 其他分享 >欧拉定理/扩展欧拉定理应用

欧拉定理/扩展欧拉定理应用

时间:2024-05-22 17:18:19浏览次数:21  
标签:9k 定理 扩展 phi ans using LL 欧拉

定理不会证所以直接讲应用。

CF776E The Holmes Children

随便证一下(打表)得,\(f\) 函数为欧拉函数,那么 \(g(n)=n\),模拟大 \(F\) 函数得到答案。

时间复杂度证明 发现大 $F$ 函数在算一个套娃 $\phi$ 值。

由于欧拉函数值必为偶数,小于偶数 \(x\) 的所有偶数定与 \(x\) 不互质,所以我们得知大 \(F\) 最多会算 \(log_2\) 次。

点击查看代码
//author : yhy
#include <bits/stdc++.h> 

using namespace std;
using LL = long long;
using Pii = pair<LL, LL>;

LL n, k;

LL phi(LL x) {
  LL ans = x;
  for (LL i = 2; i * i <= x; i++) {
    bool fl = 0;
    for (; x % i == 0; fl = 1, x /= i) {
    }
    fl && (ans = ans / i * (i - 1));
  }
  x > 1 && (ans = ans / x * (x - 1));
  return ans;
}
LL f(LL x, LL k) {
  if (x == 1 || k <= 0) {
    return x;
  }
  return f(phi(x), k - 2);
}

signed main() {
  cin.tie(0)->ios::sync_with_stdio(0);
  cin >> n >> k, cout << f(n, k) % 1000000007;
  return 0;
}

AT_abc222_g 222

常见的 Trick。

首先式子 \(k=222\cdots222\),如果 \(k\) 是 \(2\) 的倍数就将 \(k\) 除二,然后:

\[k\mid111\cdots111 \]

\[9k\mid999\cdots999 \]

\[9k\mid10^x-1 \]

\[10^x-1\equiv 0(\bmod 9k) \]

\[10^x\equiv1(\bmod 9k) \]

如果 \(\gcd(9k, 10)=1\) 根据欧拉定理 \(10^{\phi(9k)}\equiv(\bmod9k)\),但题目要求最小,随便证一下得 \(x\mid \phi(9k)\)。

否则无解。

点击查看代码
// author : yhy
#include <bits/stdc++.h>

using namespace std;
using LL = long long;
using Pii = pair<LL, LL>;

LL T, n;

LL phi(LL x) {
  LL ans = x;
  for (LL i = 2; i * i <= x; i++) {
    bool fl = 0;
    for (; x % i == 0; fl = 1, x /= i) {
    }
    fl && (ans = ans / i * (i - 1));
  }
  x > 1 && (ans = ans / x * (x - 1));
  return ans;
}
LL qpow (LL a, LL n, LL M) {
  LL r = 1, w = a;
  for (LL i = 1; i <= n; i <<= 1) {
    n & i && (r = r * w % M);
    w = w * w % M;
  }
  return r;
}

signed main() {
  cin.tie(0)->ios::sync_with_stdio(0);
  for (cin >> T; T--;) {
    cin >> n, n = (n & 1 ? n : n / 2);
    if (__gcd(9 * n, 10LL) != 1) {
      cout << "-1\n";
      continue;
    }
    set<LL> st;
    LL t = phi(9 * n), ans = -1;
    for (LL i = 1; i * i <= t; i++) {
      t % i == 0 && (st.insert(i), st.insert(t / i), 0);
    }
    for (LL x : st) {
      if (qpow(10, x, 9 * n) == 1) {
        ans = x;
        break;
      }
    }
    cout << ans << '\n';
  }
  return 0;
}

标签:9k,定理,扩展,phi,ans,using,LL,欧拉
From: https://www.cnblogs.com/Livedreamyhy/p/18206758

相关文章

  • 线段树扩展
    首先是动态树,以数列操作为例点击查看代码#include<bits/stdc++.h>#definelsontr[id].l#definersontr[id].rusingnamespacestd;constintN=1e6+20;inta[N];structnode{ intl,r,sum;}tr[N<<2];intn,m;intnum;intrt;voidupdate(int&id,intl,intr,i......
  • 【知识点】拓展欧几里得与中国剩余定理
    在上一篇文章中,我们已经熟知了有关公约数和欧几里得算法的相关事宜。详情参见:欧几里得算法求最大公约数。本文将作为上篇文章内容的一个延续,简要阐述拓展欧几里得算法和中国剩余定理。拓展欧几里得算法拓展欧几里得算法(ExtendedEuclidianAlgorithm),是欧几里得算法的扩展版本,用......
  • CF1278F Cards(斯特林数+二项式定理)
    题意简述有\(m\)张牌,其中有一张是王牌。你现在可以洗\(n\)次牌(每种牌堆序列等概率出现),然后查看牌堆顶的第一张牌。设\(x\)为\(n\)次洗牌中第一张牌是王牌的次数,则得分为\(x^k\)。求得分的期望值对\(998244353\)取模的值。\(1\len,m<998244353,k\le5000\)分析将......
  • 欧拉函数
    一、欧拉函数定义\([1,n]\)中与\(n\)互质的数的个数,称为欧拉函数,记为\(\varphi(n)\)。互质的定义:对于正整数\(a\)和\(b\),若\(gcd(a,b)=1\),则\(a\)和\(b\)互质。性质若\(p\)是质数,则\(\varphi(p)=p-1\)。证:因为\(p\)是质数,所以因数只有\(1\)和\(p\)。......
  • form-create-designer中怎么扩展自定义组件
    form-create-designer中怎么扩展自定义组件form-create-designer是基于 @form-create/element-ui实现的表单设计器组件。可以通过拖拽的方式快速创建表单,提高开发者对表单的开发效率,节省开发者的时间。FormCreate官网:https://www.form-create.com帮助文档:https://pro.form-cr......
  • C123【模板】扩展域并查集 P1892 [BOI2003] 团伙
    视频链接:C123【模板】扩展域并查集P1892[BOI2003]团伙_哔哩哔哩_bilibili  P1892[BOI2003]团伙-洛谷|计算机科学教育新生态(luogu.com.cn)//扩展域并查集#include<iostream>#include<cstring>#include<algorithm>usingnamespacestd;intn,m,a,b,......
  • 【论文阅读】VulCNN受图像启发的可扩展漏洞检测系统
    基本信息摘要由于深度学习(DL)可以自动从源代码中学习特征,因此已被广泛用于源代码漏洞检测。为了实现可扩展的漏洞扫描,一些先前的研究打算通过将源代码视为文本来直接处理源代码。为了实现准确的漏洞检测,其他方法考虑将程序语义提炼成图形表示,并使用它们来检测漏洞。在实践中,基于......
  • 高通在推动混合 AI 规模化 扩展方面独具优势
    高通在推动混合AI规模化扩展方面独具优势摘要正如白皮书第一部分所言,在云端和终端进行分布式处理的混合AI才是AI的未来。混合AI架构,或仅在终端侧运行AI,能够在全球范围带来成本、能耗、性能、隐私、安全和个性化优势。高通正在助力实现随时随地的智能计算。高通技术......
  • 大数定律与中心极限定理
    Markov&ChebyshevInequality示性函数\[\mathbb{I}(A)=\begin{cases}1,&A\text{happen}\\0,&A\text{nothappen}\end{cases}\]对于事件\(A\),如果对于样本点\(\omega\)有示性函数\[I_A(\omega)=\begin{cases}1,&\omega\inA\\0......
  • 欧拉函数、整除分块和扩展欧几里得
    欧拉函数欧拉函数(写作\(\varphi(x)\)),表示\(i\in[1,x]且\gcd(i,x)=1\)的\(i\)的数量。乍一看好像很难求,但我们先考虑最简单的情况,即\(x\in\mathbb{P}\)(\(\mathbb{P}\)表示质数集)的情况。首先很容易看出\(\varphi(x)=x-1\),因为\(x\in\mathbb{P}\),所以\(\foralli......