zoukankan      html  css  js  c++  java
  • 【NOIP训练】【数论】超级计算机

    题目描述
    有以下几个问题:
    1 给定正整数 a,b,c 求方程  ax\,$equiv$\,b\,(mod$quad$c) 的最小非负整数解。
    2 给定正整数 f,g,h求方程 g^x\,$equiv$\,f\,(mod$quad$h)的最小非负整数解。
    3 给定正整数 u,v,w求方程 x^u$equiv$v(mod$quad$w) 在模 w
 意义下解的数量。
    4 给定正整数 x,y,z
求  (phi(x)+mu(y))$quad$mod$quad$z 的值。其中 phi(x) 是欧拉函数, mu(y)是莫比乌斯函数。
    输入格式
    输入文件共四行,按上述描述中四个问题的顺序,给出每个问题。
    第一行三个正整数 a,b,c  表示第一个问题,保证 a,b<c
    第二行三个正整数 f,g,h 表示第二个问题,保证 f,g<h 
    第三行三个正整数 u,v,w 表示第三个问题,保证 w 为质数且 u,v<w 
    第四行三个正整数 x,y,z
表示第四个问题。
    输出格式
    共四行每行一个整数,分别表示四个问题的答案。对于前两个问题,若问题无解则输出-1。对于第三个问题你只需输出解的数量。
    样例数据
    super.in
    3 6 8
    9 10 12
    4 4 7
    5 4 20

    super.out
    2
    -1
    2
    4
    数据范围
    20% 的数据: a,b,c,f,g,h,u,v,w$leq$20
    60% 的数据: x,y,z$leq$230
    100% 的数据: a,b,c,f,g,h,u,v,w$leq$230;x,y,z$leq$260
    评分方式
    对于每个测试点:
    • 第一个问题正确得 2 分。
    • 第二个问题正确得 3 分。
    • 第三个问题正确得 3 分。

    题解

    第一问:将式子化成  ax+cy=b , 拓展欧几里得即可。

    第二问: BSGS大步小步算法解高次同余方程。

    详情请见TonyFang博客:http://tonyfang.is-programmer.com/posts/178997.html

    1

    QQ截图20160829192019

    第三问:求出 w 的一个原根 p,可以求出 p^b\,$equiv$\,v(mod$quad$w),并设 p^a\,$equiv$\,x(mod$quad$w), 则由费马小定理可知,解该方程等价于解 au$equiv$b(mod$quad$w-1) 所以实际上它是前两个问题的组合应用。

    第四问:Pollard Rho算法和Millar Rabin算法的应用。

  • 相关阅读:
    flask项目部署
    FastDFS分布式文件系统
    《app》团队冲刺二
    《APP》团队开发一
    软工二年级团队项目----自律小助手
    团队项目新闻app的需求分析
    团队成员及团队项目
    团队冲刺第八天
    团队冲刺第七天
    团队冲刺第六天
  • 原文地址:https://www.cnblogs.com/yljiang/p/5819397.html
Copyright © 2011-2022 走看看