费马小定理题

费马小定理题费马小定理 假如 p 是质数 且 gcd a p 1 那么 nbsp A 题 HDU 4704 首先是挡板法 隔板法 然后用即可 高中数学范围不多叙述 然后得到答案是 nbsp 这题读入数据大 就算快速幂也肯定 TLE 所以用费马小定理 把数据规模降到 int 范围内 时间复杂度降低因为 1e9 7 是一个素数 基本可以假设 N 1 不是 1e9 7 的倍数 这一点我没想到 所以没写出来 所

费马小定理:假如p是质数,且gcd(a,p)=1,那么

a^{p-1}\equiv 1\left ( mod \ p \right )

 

A题HDU – 4704

首先是挡板法(隔板法),然后用\binom{n}{m}=\binom{n-1}{m}+\binom{n-1}{m-1}即可,高中数学范围不多叙述。

然后得到答案是2^{^{N-1}}

 

这题读入数据大10^{100000},就算快速幂也肯定TLE,所以用费马小定理,把数据规模降到int 范围内,时间复杂度降低

因为1e9+7是一个素数,(基本可以假设N-1不是1e9+7的倍数,这一点我没想到,所以没写出来。。。。)

所以可以(1e9+7)^N对(1e9+7-1)取余,以下是代码:

 

 

 

 

第二题:HDU – 1395

2^{x} \ mod\ n\equiv 1

 

这个题目暴力求出答案:每此取余数即可

如果是偶数,直接跳出,奇数一定成立(证明听说要用欧拉函数,笔者最近在看数论方面的东西,奇数证明部分留个坑。)

 

 

第三题:HDU – 5750

这题关键是素数筛

 

在素数筛里面最快的就是O(N)的复杂度

用素数和题目中给的d相乘,可以得到一些n的含有d因子的数,然后选择合适的跳出条件(其实观察题目也可以发现,在许多情况下,非常容易跳出,因为样例中有好几个是0)

(以后不管什么题都用long long)

然后又被cin比scanf()慢坑了,改scanf

 

https://cn.vjudge.net/contest/#problem/A

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231874.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • KMP算法:next和nextval值计算

    KMP算法:next和nextval值计算KMP算法的next和nextval值计算先看看next数据值的求解方法例:下标从1开始(若题中给定下标为0开始,把所有值-1即可)next数组的求解方法:根据前一个字符next,一直循环找到第

    2022年7月2日
    26
  • Python中range()函数的用法

    Python中range()函数的用法函数原型:range(start,end,scan):参数含义:start:计数从start开始。默认是从0开始。例如range(5)等价于range(0,5);end:技术到end结束,

    2022年7月5日
    34
  • Cinemachine 文档[通俗易懂]

    Cinemachine 文档[通俗易懂]https://docs.unity.cn/Packages/com.unity.cinemachine@2.8/manual/index.html

    2022年5月20日
    42
  • android 封装网络框架(java企业自己封装的框架)

    Android网络框架OKGo封装本文讲述了Android网络框架OKGo封装,封装的框架适用于项目当中,适合新手操作,OKGO框架本身就以简单易上手而深受喜欢,而此文就是基于框架之上再次封装,废话不多说,直接开始吧!首先在我们的build.gradle中导入我们引用的框架dependencies{…implementation’com.lzy.net:okgo:3.0.4’i…

    2022年4月12日
    65
  • 剑指Offer面试题:9.打印1到最大的n位数

    一题目:打印1到最大的n位数二不考虑大数解法三字符串模拟算法解法解决这个问题需要表达一个大数。最常用也是最容易的方法是用字符串或者数组表达大数。该算法的步骤如下:Step1.把字符串中的

    2021年12月19日
    41
  • Redis缓存穿透、缓存雪崩问题分析

    Redis缓存穿透、缓存雪崩问题分析把redis作为缓存使用已经是司空见惯,但是使用redis后也可能会碰到一系列的问题,尤其是数据量很大的时候,经典的几个问题如下:(一)缓存和数据库间数据一致性问题分布式环境下(单机就不用说了)非常容易出现缓存和数据库间的数据一致性问题,针对这一点的话,只能说,如果你的项目对缓存的要求是强一致性的,那么请不要使用缓存。我们只能采取合适的策略来降低缓存和数据库间数据不一致的概率,而无法保证两…

    2022年6月29日
    27

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号