数论
Apollo-yyy
考研失败的华子5G工程师一枚
展开
-
Product of Polynomials
1009. Product of Polynomials (25)时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, YueThis time, you are supposed to find A*B where A and B are two polynomials.Input Speci...原创 2018-04-02 20:27:57 · 263 阅读 · 0 评论 -
1078 Hashing
题目大意:利用公式 H(key)=key%TSize 输出每个数字保存的位置,如果发生位置冲突则用“二次正方向探查法”寻找该数字的位置,如果始终冲突则输出‘-’。其中“Tsize”是题目中大于m的最小素数。解题思路:素数的问题打个素数表二分一下就可以了,关键在于冲突的解决,根据“二次正方向探查法”公式为“(key+step*step)%Tsize”,其中step范围为从1到Tsize-1(...原创 2018-12-04 17:08:52 · 212 阅读 · 0 评论 -
1081 Rational Sum
题目大意:计算n个分数的总和,输出形式为:整数部分 分数部分。其中分数部分要最简形式。解题思路;按照正常思路通分就好了,主要考察最大公因数和最小公倍数。注意如果最后结果是负数则符号只显示在整数部分,如果没有整数部分则显示在分子前面(啰嗦了半天其实就是只显示一个负号)。代码如下:#include<iostream>#include<cstdio>#includ...原创 2018-12-04 16:58:50 · 330 阅读 · 0 评论 -
Help Hanzo
题目大意:求区间a,b内素数的数量解题思路:由于b极大,所以打表会爆内存。但并不意味着放弃打表,我们可以先打一个小点的素数表出来,如果b在这个表内直接二分找一下a,b就可以了。否则利用到b-a<=100000这个性质,可以开一个这么大的桶下标表示为j-a来筛选a-b内的素数,这样就用到我们之前的小素数表来筛选了。 代码如下:#include<iostream&...原创 2018-08-21 18:41:55 · 391 阅读 · 0 评论 -
乘法逆元与卢卡斯定理入门理解
转一篇大佬的博客,个人认为讲的很不错,对小白有帮助卢卡斯定理与逆元转载 2018-08-28 19:49:02 · 222 阅读 · 0 评论 -
Pairs Forming LCM
题目大意:简言之,就是给你一个n,让你找有多少对比n小的数,它们的最小公倍数是n解题思路:按照题目意思去暴力的话(先求GCD然后求LCM)肯定要超时,可以想到唯一素数分解定理。a,b,n都可以分解为一系列素数的乘积,求LCM就是a,b分解式中对应素数的最大次幂。思路不难但是被卡内存卡了无限次,标记数组貌似只能开到1e7(指数量级)。开大会报MLE,开小就WA了,根据素数定理那么素数...原创 2018-08-21 14:26:35 · 301 阅读 · 0 评论 -
Fibonacci
题目大意:算第n个斐波那契数解题思路:根据题意来看就是一个矩阵快速幂的模板题,利用脑海中残留的快速幂知识然而忘了怎么算矩阵乘法,于是用人类最原始的暴力思维一个个枚举算了。。。所幸只是一个2×2的矩阵,然而还是算错了几步调试了半天。。还是要提高姿势水平啊。 暴力代码如下:#include&amp;amp;lt;iostream&amp;amp;gt;#include&amp;amp;lt;cstdio&am原创 2018-08-24 08:39:04 · 1491 阅读 · 0 评论 -
Mysterious Bacteria
题目大意:T组样例,给你一个x,求出满足x=b^p的最大幂p。解题思路:使用暴力用对数函数(log(n)/log(m)即以m为底n的对数)枚举必然超时,正确的做法是用唯一素数分解定理分解质因数然后求出所有次幂的最大公约数。如果n是负数需要特殊处理一下次幂,奇数次幂不需要处理,偶数次幂需要不断降幂(即除2)得到最终的奇数次幂。 代码如下:#include<iostre...原创 2018-08-27 14:59:51 · 319 阅读 · 0 评论 -
Trailing Zeroes (III)
题目大意:找最小的n使得n!尾部的0的数量为Q。解题思路:末尾0的个数就是指这个数总共有几个10因子,而10又能表示成2和5的乘积。假设m=n!,那么m中2的因子个数肯定大于5的因子个数,所以m中5的因子个数即是所要求结果,显然n除以5可得到1~n中包含有一个因子5的个数,但是,1~n中有的数可以被5整除好几次,所以必须将这个数再除以5,得到1~n中包含有两个因子5的个数,依次循环...原创 2018-08-22 19:31:39 · 328 阅读 · 0 评论 -
LightOJ—Combinations
题目大意:求组合数C(n,m);解题思路:直接用组合数的公式,再用费马小定理+快速幂求出逆元即可。需要注意的是要把阶乘提前计算出来保存起来,否则必然超时。 代码如下:#include&lt;iostream&gt;#include&lt;cstdio&gt;#include&lt;fstream&gt;#include&lt;set&gt;#inc原创 2018-08-26 19:28:52 · 204 阅读 · 1 评论 -
费马小定理
转一个判断素数用的费马小定理费马小定理转载 2018-08-22 14:32:08 · 323 阅读 · 0 评论 -
Aladdin and the Flying Carpet
题目大意:给你一个长方形面积和一个最小可能的边长,统计有多少种满足面积相等且边长大于等于最小边长的长方形。解题思路:正常的对a开方然后找因子会超时,用唯一分解定理先找出面积a的因子数量,如果b*b>a则答案为0,否则从1-b暴力找一下满足条件的因子,最后减去即可。这个题我用欧拉筛求素数表的时候莫名的超时,百度了一下换成埃式筛居然过了。。。什么鬼啊,欧拉不是最快的线性筛选法吗?...原创 2018-08-22 14:30:00 · 520 阅读 · 0 评论 -
机器人走方格 V2
解题思路:由于数据较大,所以记忆化递推,即记录每一节点的值,每一个节点的值由前面两点的值推出这种方式就不好用了。从1,1走到m,n这一点需要向下走m-1格,向右走n-1格,总共(n+m-2)格,问题就是什么时候向下什么时候向右了,所以这个问题就变成了一个组合问题。即求解C(n-1或者m-1,n+m-2)。 由于除法取模的问题,需要找到分子的逆元,本题的MOD为1E9+7,是一个质数,...原创 2018-08-26 16:13:33 · 414 阅读 · 0 评论 -
CF-High School: Become Human
High School: Become HumanYear 2118. Androids are in mass production for decades now, and they do all the work for humans. But androids have to go to school to be able to solve creative tasks. Just l...原创 2018-06-05 16:34:19 · 244 阅读 · 0 评论 -
素数筛选的几种方法
法一:暴力法简而言之,就是根据素数的定义去筛选,即只能被1和本身整除。这种做法的弊端也显而易见——太耗时。本地测试了一下,最多筛选到十万左右。 代码如下:#include<iostream>#include<cmath>using namespace std;int prime[10010];int main(){ prime[0]=2;prim...原创 2018-05-09 22:06:34 · 1272 阅读 · 0 评论 -
HDU-2973-YAPTCHA
YAPTCHAThe math department has been having problems lately. Due to immense amount of unsolicited automated programs which were crawling across their pages, they decided to put Yet-Another-Public-Tur...原创 2018-05-08 21:43:51 · 196 阅读 · 0 评论 -
1059 Prime Factors
题目大意:唯一素数定理的裸题解题思路:本题在我的数论区里有相同的。一个多月没写题了拿到这个题还是10分钟敲完一遍过了,看来掌握唯一素数分解定理了(哈哈哈。。。)代码如下:#include&lt;iostream&gt;#include&lt;cstdio&gt;#include&lt;fstream&gt;#include&lt;set&gt;原创 2019-01-23 18:24:11 · 203 阅读 · 0 评论