数学
文章平均质量分 60
mosquito_zm
这个作者很懒,什么都没留下…
展开
-
关于点到直线距离的理解
一、先以2维空间为例:对于一条直线,我们一般表示成:y = kx + b或者表示成:ax + by + c = 0这里的第二种表示其实还可以转换成这样:(a, b)(x, y) + c = 0即表示成两个向量的乘积的形式,而这里的(a, b)正是直线的法向量,而 k 的值就等于 -a / b那么为什么:(a, b)(x, y) + c = 0 可以表示二维空间的一条唯一直线呢?...转载 2018-11-21 20:57:42 · 4152 阅读 · 0 评论 -
Codeforces Round #428 (Div. 2) ( 组合数学)
题目链接题解:上组合数学:设 i 的倍数有n个,则从中选择长度为1,2,...k...,n-1,n的下标递增的序列共有这么多种。颇有当年江苏高考附加卷最后一题的感觉~(字好丑。。。有时间去学一下LaTex)要求gcd恰好为 i 的序列个数,而这么多种当中,可能有gcd比 i 大的序列,这时,需要把这些多加的减掉。怎么减?一转载 2017-08-14 17:11:26 · 211 阅读 · 0 评论 -
Asia Hong Kong Regional Contest 2016 F Playing with Numbers(Kattis Playing with Numbers)
题目链接题解:显然,如果做两次lcm,就可以得到可能的最大解(取2的最大次幂和3的最大次幂)。如果做0次,就只需要找到最小值即可。现在只剩下做一次lcm的情况了。对于这种情况,我们暴力搜索一边所有可能解即可。在比较大小的时候,我们可以通过对于2^a3^b求log2,得到的是a + log2(3)b,只需要比较这个值的大小即可。(可能会有精度误差,不过还是可以通过本题)代码如下:#inc原创 2017-08-06 14:46:34 · 539 阅读 · 0 评论 -
约数个数与具体值的求解
1:求一个数的约数个数:由约数个数定理可知,对于一个大于1正整数n可以分解质因数: 则n的正约数的个数就是 。其中a1、a2、a3…ak是p1、p2、p3,…pk的指数。2 求1到n的所有数的约数个数: 按顺序考虑每一个质数p及他们的次方,对于任意一个数y = p^w * x, 则他应当新增的因子数为w * (x的因子数)。先筛出素数,再按照枚举的方法原创 2017-07-21 19:29:58 · 669 阅读 · 1 评论 -
【HDU1402】 【FFT求大数乘法】
传送门:HDU 1402 A * B Problem Plus描述:A * B Problem PlusTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 18015 Accepted Submission(s转载 2017-08-12 22:09:43 · 310 阅读 · 0 评论 -
三个重要的同余式——威尔逊定理、费马小定理、欧拉定理 + 求幂大法的证明
一、威尔逊定理若p为质数,则p|(p-1)!+1亦:(p-1)! ≡ p-1 ≡ -1(mod p)例题:HDU 2973 YAPTCHA (威尔逊定理及其逆定理)解题报告见http://blog.csdn.net/synapse7/article/details/18728157二、费马小定理假如p是质数,且转载 2017-08-12 22:07:57 · 496 阅读 · 0 评论 -
欧拉定理 & 费马定理吗 & 欧几里得 & 扩展欧几里得
(一)欧拉定理:互质:若N个整数的最大公因数是1,则称这N个整数互质。 在数论中,欧拉定理,(也称费马-欧拉定理)是一个关于同余的性质。欧拉定理表明,若n,a为正整数,且n,a互质,则: a^[φ(n)]≡1 (mod n)其中: φ函数的值 通式:φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1转载 2017-08-12 21:19:48 · 438 阅读 · 0 评论 -
扩展欧拉定理
扩展欧拉定理ab≡⎧⎩⎨⎪⎪ab%ϕ(p) gcd(a,p)=1ab gcd(a,p)≠1,bϕ(p)ab%ϕ(p)+ϕ(p) gcd(a,p)≠1,b≥ϕ(p) (mod p)证明转载自http://blog.csdn.net/synapse7/article/details/19610361转载 2017-08-12 21:44:20 · 350 阅读 · 0 评论 -
圆的反演变换(*)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4773题意:给定两个圆,告诉半径和圆心,它们是相离的,在这两个圆外给定一个点p,求符合条件:过点p的圆且与已知的两个圆外切的所有圆的总数和它们的圆心坐标和半径。分析:根据题意,我们设已知两个圆的半径分别为和,它们的圆心分别为和,设点p的坐标为转载 2017-08-12 11:07:00 · 3123 阅读 · 0 评论 -
[BZOJ2190][SDOI2008]仪仗队(欧拉函数|莫比乌斯反演)
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2190题解:点(x,y)如果gcd(x,y)=1才能被看到我们把c点看做(0,0),那么我们分离出一个(n−1)∗(n−1)的矩阵,这个矩阵上能看到的点是对称的,所以我们分离出他的上三角形部分,他的第i行(2所以ans=∑i=2n−1φ(i)+3,另3个点分别是(1,1),(1,原创 2017-08-11 23:11:40 · 372 阅读 · 1 评论 -
勒让德定理
在正数n!的素因子标准分解式中,素数p的指数记作 ,则 .证明:转载 2017-08-07 15:56:00 · 1947 阅读 · 0 评论 -
威尔逊定理与逆定理及证明
威尔逊定理:当( p -1 )! ≡ -1 ( mod p ) 时,p为素数。证明如下充分性:当p不是素数,那么令p=a*b ,其中1 (1)若a≠b, 因为(p-1)!=1*2*...*a*...*b*...*p-1, 所以(p-1)!≡ 0 (mod a) (转载 2017-08-13 10:14:16 · 6717 阅读 · 2 评论 -
hdu2973 YAPTCHA(威尔逊定理)
题目链接题意:给出n,根据公式求和题解:这里要用到一个数论定理——威尔逊定理当且仅当p为素数时:( p -1 )! ≡ -1 ( mod p )即:当P为质数时,P可以整除(p - 1)! + 1所以此题只要判断3i + 7是否为质数即可代码如下:#include using namespace std;const int maxn原创 2017-08-15 10:18:07 · 189 阅读 · 0 评论 -
Jacobi迭代法与Gauss-Seidel迭代法
之前我在博客里介绍过牛顿-拉弗逊迭代法,对数据挖掘技术熟悉的同学应该还知道有梯度下降法(其实也是一种迭代算法)。今天刚好有朋友和我讨论泊松图像融合算法,我说我过去文章里给出的是最原始、最直观的实现算法。对于理解泊松融合的原理比较有帮助,但是效率可能并不理想。印象中,泊松融合是有一个以矩阵为基础的快速算法的。但是过去我浅尝辄止了,也没深究,今天刚好再提到,小看了一下,似乎涉及高斯-塞德尔迭代法。好吧...转载 2018-06-12 11:13:26 · 10073 阅读 · 0 评论 -
理解矩阵(一)
前不久chensh出于不可告人的目的,要充当老师,教别人线性代数。于是我被揪住就线性代数中一些务虚性的问题与他讨论了几次。很明显,chensh觉得,要让自己在讲线性代数的时候不被那位强势的学生认为是神经病,还是比较难的事情。可怜的chensh,谁让你趟这个地雷阵?!色令智昏啊!线性代数课程,无论你从行列式入手还是直接从矩阵入手,从一开始就充斥着莫名其妙。比如说,在全国一般工科院系教学中应用最广泛的...转载 2018-02-13 22:12:15 · 241 阅读 · 0 评论 -
01分数规划入门
01分数规划是这样的一类问题,有一堆物品,每一个物品有一个收益ai,一个代价bi,我们要求一个方案使选择的最大。首先我们来一道例题吧,01分数规划的大体方法都是一样的。友情提示:poj请选择C++提交,g++提交的话容易作死(poj的g++要用%f输入输出double,pojC++用%lf)例1 Dropping Tests poj2976给出n个物品,每个物品有两转载 2017-11-20 18:10:32 · 7414 阅读 · 0 评论 -
扩展欧几里德算法求解线性同余方程
欧几里德算法 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理: 定理:gcd(a,b) = gcd(b,a mod b) 证明:a可以表示成a = kb + r,则r = a mod b 假设d是a,b的一个公约数,则有 d|a, d|b,而r = a - kb,因此d|r 因此d是(b,a mod b)的公约数转载 2017-08-30 22:40:47 · 336 阅读 · 0 评论 -
Catalan数,第一类Stirling数和第二类Stirling数
第一类Stirling数 s(p,k) s(p,k)的一个的组合学解释是:将p个物体排成k个非空循环排列的方法数。 s(p,k)的递推公式: s(p,k)=(p-1)*s(p-1,k)+s(p-1,k-1) ,1边界条件:s(p,0)=0 ,p>=1 s(p,p)=1 ,p>=0递推关系的说明:考虑第p个物品,p可以单独转载 2017-03-29 18:27:50 · 4533 阅读 · 0 评论 -
LightOJ 1058 平行四边形的判断定理
题目大意:给你n个点,求这n个点最多能组成多少个平行四边形。题目思路:这道题卡时间,而且卡内存。你要尽可能的想办法优化。平行四边形的判定定理:两组对边分别平行的四边形是平行四边形(定义判定法);一组对边平行且相等的四边形是平行四边形;两组对边分别相等的四边形是平行四边形;两组对角分别相等的四边形是平行四边形(两组对边平行判定);对角线互相平分的四边形转载 2017-08-27 12:01:00 · 417 阅读 · 0 评论 -
错排公式详解
在HDU刷题时遇到了关于错排公式的一些问题。本篇文章将详细解释错排公式的推导过程,请大家点赞。错排的定义:一段序列中一共有n个元素,那么可知这些元素一共有n!种排列方法。假如在进行排列时,原来所有的元素都不在原来的位置,那么称这个排列为错排。而错排数所指的就是在一段有n个元素的序列中,有多少种排列方式是错排。递归关系:D(n)=(n-1)(D(n-1)+D(n-2)) 特别地有D转载 2017-08-26 00:10:03 · 2419 阅读 · 1 评论 -
UVA12396/HDU4196 Remoteland 素数拆分+快速求幂
http://acm.hdu.edu.cn/showproblem.php?pid=4196题目大意:给你一个数字n,求不大于n能组成的最大的完全平方数。解题思路:完全平方数可以拆成不同的偶数个质数相乘,算出n!拆出来的各素数个数,奇数的就舍去一个,偶数的全要,然后再全部乘起来,快速求幂即可。拆分求素数个数时,每次求当前prime个数为n/prime,然后n原创 2017-08-15 23:28:06 · 284 阅读 · 0 评论 -
51Nod->1419最小公倍数挑战 (数论)
传送门: 1419 最小公倍数挑战几天以前,我学习了最小公倍数。玩得挺久了,想换换口味。我不想用太多的数字,我想从1到n中选三个数字(可以相同)。使得他们的最小公倍数最大。Input单组测试数据。第一行有一个整数n (1≤n≤1,000,000)。Output输出一个整数表示选三个数字的最大的最小公倍数。Input示例9转载 2017-08-15 11:00:03 · 254 阅读 · 0 评论 -
hdu3501 欧拉函数(或容斥原理(莫比乌斯函数))
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3501题解1:显然,本体可以用容斥原理,求出每个数的倍数情况,其系数就是莫比乌斯函数。题解2:对于整数n,如果x(x题解2代码如下:#include #define ll long longusing namespace std;const int maxn = 1e5 + 10原创 2017-08-11 22:28:19 · 325 阅读 · 0 评论 -
线性求区间欧拉函数(顺便线性求区间内所有素数)(类似欧拉线性素数筛)
该算法在可在线性时间内筛素数的同时求出所有数的欧拉函数。 需要用到如下性质(p为质数): 1. phi(p)=p-1 因为质数p除了1以外的因数只有p,故1至p的整数只有p与p不互质 2. 如果i mod p = 0, 那么phi(i * p)=p * phi(i) 证明如下 (上述证明存在bug转载 2017-08-11 20:49:34 · 555 阅读 · 0 评论 -
HDU2256&&HDU4565:给一个式子的求第n项的矩阵快速幂
HDU2256题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2256题意:求(sqrt(2)+sqrt(3))^2n%1024是多少。这个题算是hdu4565的一个常数版本了,所以我们先说这道题。对于这道题的做法我们可以计算((sqrt(2)+sqrt(3))^2)^n=(5+2*sqrt(6))^n,对于(5+2*sqrt(转载 2017-07-21 14:36:50 · 237 阅读 · 0 评论 -
hdu 5015 233 Matrix (矩阵快速幂)
233 MatrixTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 749 Accepted Submission(s): 453Problem DescriptionIn our daily lif转载 2017-07-07 21:07:49 · 255 阅读 · 0 评论 -
fzu2265Card Game (Second Edition) (数学)(简单)
b 从小到大排序, a对应有n!中排列,其中a[i]对于某个b[j]是有(n-1)!都是对应的(因为a[i]只能对应n个b中),而a[i]对应b[j]的值是一定的,可以直接计算出每个a[i]在这n!中方案中的贡献值,所有a[i]然后相加除以n!(可以把n-1!去掉,最后就是除以n了)。 就是说每个a[i]都会有n*(n-1)!种对应情况,然后只要算出n种情况里面哪几个贡献出了1分,最后转载 2017-07-20 11:25:26 · 482 阅读 · 0 评论 -
codeforce Round #404 D(数学,思路,范德蒙恒等式)
题目链接题意: 问你一共有多少个子串,满足下列条件: ①长度为偶数 ②前一半是( ③后一半是) ④子串不必要连续。 题解:我们O(n)枚举分界线,那么对应左侧有n个(,右边有m个) 则答案为C(i,n)*C(i,m)。而由范德蒙不等式可得结果。PS:求组合数时可以先将所有阶乘都预处理出来,在直接求即可代码如下:#include #inclu原创 2017-04-02 14:25:51 · 707 阅读 · 0 评论 -
范德蒙恒等式的证明
今天我们来认识组合数学中一个重要的恒等式---范德蒙恒等式。这个恒等式的表述如下 很自然的公式,接下来一起来看看它的证明,在维基百科上给出了两种方法证明,分别如下 (1)组合方法证明 甲班有个同学,乙班有个同学,从两个班中选出个一共有种不同的选法。而换一种思维方式 从甲班中选取个转载 2017-04-02 11:13:13 · 691 阅读 · 0 评论 -
Codeforces Round #404 (Div. 2) C(数学)(精度)
题目链接题目解答:显然,这是一道数学题。先考虑特殊情况,nm时,经过计算可得,答案为ans = ceil((sqrt(8 * (n - m) + 1) - 1) / 2);但是直接计算会有精度误差。所以我的解决办法是先将计算出来的结果减去100,再用一个whlie循环一个一个的加,并判断当前结果是否满足原始的算式。(微调结果))PS: long double 好像不能用printf原创 2017-03-22 13:31:46 · 562 阅读 · 0 评论 -
hdu5873 Football Games(数学)(Landau's Theorem )
题意: 有mm组球队, 每组有b_ibi支球队. 每组之间两两踢球, 赢得加2分, 平手各加1分, 输的不得分. 现在告诉你每组里面每只球队最后的分数, 问这个分数序列是否正确.题解:如果没有平手选项, 赢得加一分的话, 可以用Landau's Theorem判定, 这题稍微修改下这个定理就好了. 令s_1,s_2,...,s_ns1,s2,...,s转载 2016-09-10 20:10:11 · 364 阅读 · 0 评论 -
hdu 1023 ——Train Problem II(卡特兰数+高精度+java)
Train Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 7977 Accepted Submission(s): 4278Problem Description As we all know the T原创 2016-08-03 00:26:30 · 712 阅读 · 0 评论 -
poj2356——Find a multiple(抽屉原理)
从poj2356来体会 抽屉原理 的妙用Find a multipleTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 3089 Accepted: 1370 Special JudgeDescriptionThe转载 2016-08-05 18:07:58 · 445 阅读 · 0 评论 -
OpenJ_POJ - C17J Pairs(数学+技巧暴力)
题目链接题解:由于注意到x的范围较小,我们显然可以同时枚举x与p进行计算。先枚举想,在枚举p的过程中,我们发现,对于同一个x,不同的p可能会算出同一个y,导致重复。为了解决这种状况,我们可以先求出所有数的所有因数,在那之后,我们对于同一个x,用一个vis数组记录所有产生的y,并在记录时计数即可。PS:技巧:我们可以在每次记录y是,vis数组的标记用当前的x,而不是1,这样判断时只需要比较是原创 2017-07-21 15:50:42 · 510 阅读 · 0 评论 -
原根
定义:设,,使得成立的最小的,称为对模的阶,记为。定理:如果模有原根,那么它一共有个原根。定理:若,,,则。定理:如果为素数,那么素数一定存在原根,并且模的原根的个数为。定理:设是正整数,是整数,若模的阶等于,则称为模的一个原根。 假设一个数对于模来说是原根,那么的结果两两不同,且有,那转载 2017-08-16 10:24:21 · 2709 阅读 · 0 评论 -
关于gcd的8题(*)
转自:https://oi.abcdabcd987.com/eight-gcd-problems/关于gcd的8题发现其实有关gcd的题目还是挺多的,这里根据做题顺序写出8题。[bzoj2818: Gcd] gcd(x,y)=质数, 1的对数做这题的时候,懂得了一个非常重要的转化:求(x, y) = k, 1 的对数等于求(x, y) = 1, 1 的对数!转载 2017-08-11 18:33:20 · 741 阅读 · 0 评论 -
浅谈一类积性函数的前缀和
写在前面笔者在刷题过程中遇到一些求积性函数前缀和的问题,其中有一类问题需要在低于线性时间复杂度的算法,今天就来浅析一下这类问题的求解方法,当作以后讲课使用的讲义。若之后有了新的研究,再来继续完善这篇文章。 本文会随时更新内容,建议以链接形式转载,或者与笔者保持联系。爬虫转载不标明出处必究。author: skywalkert original article: http转载 2017-08-03 21:00:15 · 329 阅读 · 0 评论 -
组合数求模
0. 写在前面在程序设计中,可能会碰到多种类型的计数问题,其中不少涉及到组合数的计算,所以笔者写下这么一篇文章,期望能解决一些常规的组合数求模问题。以下部分内容改编自AekdyCoin的《组合数求模》,而且为了感谢他对(懵懂的)笔者的启发,这篇文章的标题与其文章相同。另外,感谢Picks将多项式运算的技巧在中国进行推广,感谢51nod提供了许多有趣的数论题目,感谢fotile96开源了他的转载 2017-08-03 20:50:37 · 329 阅读 · 0 评论 -
莫比乌斯反演
莫比乌斯反演在数论中占有重要的地位,许多情况下能大大简化运算。那么我们先来认识莫比乌斯反演公式。 定理:和是定义在非负整数集合上的两个函数,并且满足条件,那么我们得到结论 在上面的公式中有一个函数,它的定义如下: (1)若,那么 (2)若,均为互异素数,那么 (3)其它情况下转载 2017-08-02 20:52:51 · 165 阅读 · 0 评论 -
hdu3221 扩展欧拉定理(降幂大法)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3221题解:首先很容易发现递推公式fn=fn-1*fn-2;写出前几项a,b,a*b,a*b^2,a^2*b^3,a^3*b^5;易发现a,b的指数为斐波那契数列。但是当N大一点时,斐波那契数列便变得非常大。那么此时得用扩展欧拉定理降幂。a^b%p=a^(b%phi(p)+phi(p))%p原创 2017-08-16 16:58:35 · 1401 阅读 · 0 评论