01 2016 档案

摘要:聪聪考试 难度级别:C; 运行时间限制:1000ms; 运行空间限制:262144KB; 代码长度限制:2000000B 试题描述 聪聪是一个善良可爱、睿智聪慧的好孩子。聪聪是100%的学霸,这一天她在考数学。聪聪很快做到了最后一道题:“高一八班有n个人,从1到n编号,一次互判作业时,老师随机将作业 阅读全文
posted @ 2016-01-29 15:19 543~ 阅读(412) 评论(0) 推荐(0)
摘要:看这个之前建议先看一下n!…… 对于组合数我们可以将其表示成阶乘的形式:C(n,k)= 。那我们不妨把这三个阶乘全部表示成上个专题的形式。这样的话,如果对于e1>e2+e3就可以被p整除,e1=e2+e3就无法被p整除。在无法被整除的情况下C(n,k)=a1(a2a3)-1 1 int mod_co 阅读全文
posted @ 2016-01-29 13:49 543~ 阅读(960) 评论(0) 推荐(0)
摘要:我们在这里介绍一些关于n!的性质。 在计数问题中,经常需要用到n!。有必要了解n!在mod p下的一些性质。下面我们假设p是素数,n!=ape(a无法被p整除),并试图求解e和a mod p(把这个东西算出来可以很好的缩小组合数取模的数据)。e是n!中p因子的个数,因此可以使用下面的式子进行计算: 阅读全文
posted @ 2016-01-29 13:17 543~ 阅读(1827) 评论(0) 推荐(0)
摘要:我们假设同余方程组所有的ai都等于1,并且所有的mi都互质,答案一定是x≡b(mod Пmi)反之,对于一个合数n,假设我们有n=ab(其中a和b互质)。那么如果x mod n的值确定,x mod a和x mod b的值就都确定了。也就是说,我们有(x mod n)<=>(x mod a, x mo 阅读全文
posted @ 2016-01-28 14:21 543~ 阅读(297) 评论(0) 推荐(0)
摘要:求最大公约数,我们想想有什么方法可以求呢? 首先我先来说一下最弱智的算法: 就是从1开始试,试来试去的就搞出来了…… 代码如下: 1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 int m,n,j; 6 cin>>m>>n 阅读全文
posted @ 2016-01-28 12:51 543~ 阅读(178) 评论(0) 推荐(0)
摘要:用数学化的符号表示就是求解ai×x≡bi(mod mi)(1<=i<=n)这样的方程。如果方程有解,那么一定有无穷多解,而且解的全集一定可以写成x≡b(mod m)的形式,因此问题就转化为求解b和m。如果我们能求解方程组x≡b1(mod m1),a×x≡b2(mod m2),那么只需要对方程逐个求解 阅读全文
posted @ 2016-01-28 11:31 543~ 阅读(252) 评论(0) 推荐(0)
摘要:在p是素数的情况下,对任意整数x都有xp≡x(mod p)。这个定理被称作费马小定理其中如果x无法被p整除,我们有xp-1≡1(mod p)。利用这条性质,在p是素数的情况下,就很容易求出一个数的逆元。那上面的式子变形之后得到a-1≡ap-2(mod p),因此可以通过快速幂求出逆元。 我们先来证明 阅读全文
posted @ 2016-01-27 14:11 543~ 阅读(411) 评论(0) 推荐(0)
摘要:我们需要考虑如何求解线性方程ax≡b(mod m)。对于实数运算下的方程ax=b我们既然已经知道了a的倒数,那我们可以直接通过a的倒数乘b求得方程的解,如果在(mod m)的运算下,也有类似于a的倒数一样的数存在,方程就可以解了。如果存在ay≡1(mod m)我们把这样的数y叫做a的逆元,记作a-1 阅读全文
posted @ 2016-01-27 10:06 543~ 阅读(265) 评论(0) 推荐(0)
摘要:不知道斐波那契数列是什么的自己去百度……求斐波那契的第n项是一个老生常谈的问题,先送上一个O(n)的弱智算法…… 1 #include 2 using namespace std; 3 int main(){ 4 int n; 5 cin>>n; 6 if(n==1||n==... 阅读全文
posted @ 2016-01-26 15:24 543~ 阅读(264) 评论(0) 推荐(0)
摘要:高斯消元可能这名字听着挺高大上……但其实……没错他就是挺高大上的……他可以用来解线性方程组(不知道线性方程组是什么的自己去百度吧)!!!至于什么逆矩阵之类的我还没有研究。。。这里我先介绍一下主元高斯消元法x-2y+3z=6(1)4x-5y+6z=12(2)7x-8y+10z=21(3)这是一个三元一... 阅读全文
posted @ 2016-01-26 11:25 543~ 阅读(241) 评论(0) 推荐(0)
摘要:Noip201305 转圈游戏题目:有n个小伙伴(编号从0到n-1)围坐一圈玩游戏。按照顺时针方向给n个位置编号,从0到n-1。最初,第0号小伙伴在第0号位置,第1号小伙伴在第1号位置,……,依此类推。 游戏规则如下:每一轮第0号位置上的小伙伴顺时针走到第m号位置,第1号位置小伙伴走到第m+1号位置... 阅读全文
posted @ 2016-01-25 15:32 543~ 阅读(192) 评论(0) 推荐(0)
摘要:双六问题题目:一个双六上面有向前向后无限延续的格子,每个格子都写有整数。其中0号格子是起点,1 号格子是终点。而骰子上只有a,b,-a,-b四个整数,所以根据a和b的值的不同,有可能无法到达终点。现在的问题是掷出a,b,-a,-b各多少次可以达到终点呢? 输入:一行,包含两个数a和b,两数之间用一个... 阅读全文
posted @ 2016-01-25 15:30 543~ 阅读(585) 评论(0) 推荐(0)
摘要:线段上格点的个数题目:给定平面上的两个格点P1=(x1,y1)和P2=(x2,y2),线段P1P2上,除P1和P2以外一共有几个格点?输入:一行包括四个数,分别为x1,x2,y1和y2,两两之间用一个空格分隔。输出:输出一个数,表示题目描述的格点的个数。输入示例:15113输出示例:3数据范围:-1... 阅读全文
posted @ 2016-01-25 15:28 543~ 阅读(549) 评论(0) 推荐(0)
摘要:证明:这种问题用数学语言来说就是求整数x、y使得ax+by=1。不难发现,若gcd(a,b)!=1时必定无解,相反的,若gcd(a,b)=1那就必定有一整数对(x,y)满足ax+by=gcd(a,b),可以用扩展欧几里得算法对答案进行求解假设我们已经求得b*xt+(a%b)yt=gcd(b,a%b)... 阅读全文
posted @ 2016-01-25 15:12 543~ 阅读(328) 评论(0) 推荐(0)
摘要:埃式筛法:给定一个正整数n(nusing namespace std;bool pri[1000000+10];bool ispri[10000000+10];//ispri[i-a]=true代表i是素数void getpri(){ memset(pri,true,sizeof(pri));... 阅读全文
posted @ 2016-01-25 15:00 543~ 阅读(12070) 评论(0) 推荐(3)