随笔分类 - 数论
摘要:题目来自“2018-2019 ICPC, NEERC, Southern Subregional Contest”,codeforces上放置了此题:Find a Number 题意:给出两个正整数d,s。找到一个最小的数 n 使得 n%d==0,并且所有的 n 所有位的数字相加和为s。 解题思路:
阅读全文
摘要:题意:题目的意思是,给定一个初始状态perm,然后对perm的每个元素按照上述的规则进行变换操作。问:perm经过多少次这种操作能够变回初始的perm。 解题思路:第一种方法就是模拟,一直变换,直到变成原来的样子。 第二种解法:置换群与不相交循环,如图 code: #解法1: class Solut
阅读全文
摘要:这可真是个有意思的问题,之前好像在刷题的时候也碰到过类似的问题 问题的解决是:我们由均值不等式可以知道,当每个数相等的时候,有乘积最大。 那么所以实际上就是将这个数均分,假如正整数N为 k,假设分成n份,那么他们的乘积就是:(k/n)n 我们即对该式子进行求导 因此,当均分为e的时候有最大值,但是题
阅读全文
摘要:题目链接:http://codeforces.com/contest/964 A题 答案n/2+1; B题 讨论三种情况 c>b c==b c<b C题 数论,逆元+快速幂,但是我一直卡在了取模这个地方。迷之wa AC代码:
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=5685 解题思路:前缀积+费马小定理求逆元。 AC代码:
阅读全文
摘要:题目大意: 在牛首山与云台山之间的红觉寺,有n座宝塔直立,标有1至n号。 然而,只有其中两个(标记为a和b,其中1≤a≠b≤n)经受住了时间的考验。两个和尚Yuwgna和Iaka决定再次辉煌。 他们轮流建造宝塔,Yuwgna第一。 对于每一回合,如果存在两座直立的宝塔,分别标记为j和k,则可以重建标
阅读全文
摘要:Collision Time Limit: 15000/15000 MS (Java/Others) Memory Limit: 512000/512000 K (Java/Others)Total Submission(s): 1645 Accepted Submission(s): 442 Pr
阅读全文
摘要:Palindrome graph Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2118 Accepted Submission(s): 664
阅读全文
摘要:思路:中国剩余定理。纯粹的用暴力求逆元。
阅读全文
摘要:斯特灵公式是一条用来取n阶乘的近似值的数学公式。 公式为: 用该公式我们可以用来估算n阶乘的值;估算n阶乘的在任意进制下的位数。 如何计算在R进制下的位数:我们可以结合对数来计算,比如十进制就是lg(n!)+1,二进制则是log2(n!)+1。 Lucas(卢卡斯)定理 公式为:(p为质数) 当然,
阅读全文
摘要:中国剩余定理(限制条件:模为两两互质) 中国剩余定理其实很早我们都接触过,在初中甚至小学的时候我们都有可能看到过这样的问题:有n个东西,三个人分剩两个,五个人分剩三个,七个人分剩两个,求n最少是多少。 求解这个问题古人就已经想到了很好的解决办法。 我们由题意易知: x=2(mod)3; x=3(mo
阅读全文
摘要:链接:https://www.nowcoder.net/acm/contest/75/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C
阅读全文
摘要:最大公约数求法:GCD求解。 最小公倍数(lcm):lcm(a,b)=a*b/gcd(a,b)。 通常a*b较大,故经常先(a/gcd(a,b))*b。 在一些博客看到求分数的lcm,这时候可以尽量用这个公式:lcm(s/a,s/b)=s/gcd(a,b)。
阅读全文
摘要:逆元定义:对于正整数a,如果有a*x=1(mod m),那么把这个同余方程中的最小正整数解x叫做a模m的逆元。(同余方程不了解的话可以先自行百度) (即a*x%m==1) 那么逆元有什么用? 通常情况下我们会碰到形如(A/B)%m的情况,显然(A/B)%m!=(A%m)/(B%m)。然而如果(A*B
阅读全文
摘要:1、GCD 辗转相除法: 2、扩展欧几里得算法 由贝祖等式可知ax+by=gcd(a,b) 。(由此可推一般式: ax+by=d) 如果要解x , y 。由数学推导可知: 1、当b=0 时可知x=1,y=0。 2、当b!=0时,a*x1+b*y1=gcd(a,b), b*x2+(a%b)*y2=gc
阅读全文
摘要:例 a11=a(2^0+2^1+2^3) 11的二进制是1011,11 = 2³×1 + 2²×0 + 2¹×1 + 2º×1,因此,我们将a¹¹转化为算 a2^0*a2^1*a2^3,也就是a1*a2*a8 ,看出来快的多了吧原来算11次,现在算三次。 快速幂的时间复杂度log(n)。 快速幂代码
阅读全文
摘要:A. Odds and Ends time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Where do odds begin, and
阅读全文
摘要:Friend-Graph Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 6514 Accepted Submission(s): 1610 P
阅读全文
摘要:A. Generous Kefa time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output A. Generous Kefa time l
阅读全文
摘要:Factstone Benchmark Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2259 Accepted Submission(s):
阅读全文