随笔分类 -  数学

摘要:分解质因数只需要线筛n^0.5就可以了,大于n^0.5的质数最多有一个,剩下的数大于1,那么它就是那个大质数。 完全没有必要线筛,直接从1~sqrt(n)扫一遍就可以了,最后再处理一个大于sqrt(n)的质数。 阅读全文
posted @ 2017-10-28 11:40 WeiAR 阅读(138) 评论(0) 推荐(0) 编辑
摘要:P1593 因子和新算法:#define ni 逆元先质因数分解,(1+p1^1+p1^2...p1^x)*(1+p2^1+p2^2...p2^x)然后套等比数列公式就可以了。 阅读全文
posted @ 2017-10-27 19:39 WeiAR 阅读(337) 评论(0) 推荐(0) 编辑
摘要:P2789 直线交点数分成两种情况,一种是平行直线,一种是自由直线,在自由直线中可以存在平行直线,但是不能和第一组的直线平行。自由直线和平行直线的交点是i*(n-i)。 阅读全文
posted @ 2017-10-26 21:15 WeiAR 阅读(340) 评论(0) 推荐(0) 编辑
摘要:猫猫的小鱼catfish内存限制: 64M猫猫是丛林里很多动物心中的天使,她为此十分自豪。猫猫最爱吃鱼了,她每天都要去池塘钓鱼吃。猫猫经常吃鱼脑,数学特别强,然而,小女生的性格决定了她的贪玩。一天,猫猫钓到了很多条鱼。她并不想马上就把可怜的鱼儿吃掉,而是先折磨够之后再吃(有句话叫什么来着~最毒不过猫 阅读全文
posted @ 2017-10-24 11:44 WeiAR 阅读(477) 评论(0) 推荐(0) 编辑
摘要:P1590 失踪的7进制转换的题目,如果把一个10进制的数当成9进制,相当于没有9这个数字,题目失踪了7,但是无所谓。如果当前的大于7,它就跳过了一个数字,向左移动1位。 阅读全文
posted @ 2017-10-24 07:49 WeiAR 阅读(486) 评论(0) 推荐(0) 编辑
摘要:P3917 异或序列暴力前缀异或枚举每一个区间,再求和,60分。正解:按每一位来做对于区间[l,r],如果它对答案有贡献,区间中1的个数一定是奇数,可以按每一位取(1<<i)的前缀和,q[r]-q[l-1]一定是奇数,那只要保证端点值奇偶性不同即可。根据乘法原理,奇数*偶数就是满足条件的区间个数,这 阅读全文
posted @ 2017-10-23 15:40 WeiAR 阅读(313) 评论(0) 推荐(0) 编辑
摘要:P2399 non hates math将分数化成小数的模拟题,把循环减掉就可以了。1.1(234)*10^4==11234.234*10^1==11.2349999*(1.1(234))==11223所以(1.1(234))==11223/9999 阅读全文
posted @ 2017-10-23 08:23 WeiAR 阅读(129) 评论(0) 推荐(0) 编辑
摘要:P1292 倒酒这个题有很多模型,这个是一个变形。我令一个解为x两个整数Pa和Pb,分别表示从体积为a ml的酒杯中倒出酒的次数和将酒倒入体积为b ml的酒杯中的次数(酒杯一开始为空)。b最后是0,所有倒入b中的都会倒入a中,而每次a倒出都是从满的状态倒出来,所以剩下的x=Pb*b-Pa*a。 因为 阅读全文
posted @ 2017-10-20 21:48 WeiAR 阅读(862) 评论(0) 推荐(1) 编辑
摘要:P2429 制杖题这个题用线性筛会WA一个点,因为这个题是给定的质数集,最大的质数会比当前的倍数大,就会出现上面的情况。怎办?判重用set啊!set+线性筛就过掉了。16ms 阅读全文
posted @ 2017-10-20 11:44 WeiAR 阅读(412) 评论(0) 推荐(1) 编辑
摘要:对线性筛的新理解除了最小质数的原因外,还有一方面,就是当前的枚举的倍数一定比筛出来的质数小,这是排除了哪种情况呢?倍数 质数2 13倍数 质数13 2 阅读全文
posted @ 2017-10-20 11:21 WeiAR 阅读(128) 评论(0) 推荐(0) 编辑
摘要:P2817 宋荣子的城堡一道找规律的题,现在深入追究发现了有趣的东西。1 12 23 94 64显然k^(k-1) 在日照的时候也推出来了。3 9今天推错了,要列出所有的情况,然后再选,否则会漏掉。答案是(k^(k-1)) * ((n-k)^(n-k))对了,我卡速米一直打的是错的。要对指数为0的情 阅读全文
posted @ 2017-10-19 21:10 WeiAR 阅读(180) 评论(0) 推荐(0) 编辑
摘要:P2651 添加括号III无论怎么添加,a2一定是分母,其他的可以是分子,所以最后看看,(a1*a3*..*an)%a2==0即可 1 #include<iostream> 2 #include<cstdio> 3 #include<queue> 4 #include<algorithm> 5 #i 阅读全文
posted @ 2017-10-19 16:55 WeiAR 阅读(240) 评论(0) 推荐(0) 编辑
摘要:P1244 青蛙过河NOI2000主要思想:数学归纳法 递推 压位高精度 化归 理解能力和找规律的能力题意再述:1.青蛙从上到下必须连续递增或者下面是石墩 而不能是1 12 33 4而且每时每刻都要满足这个条件2.左岸和右岸都是石堆公式推导过程:k=0h=0 s=1h=1 s=2 _ _ _h=2 阅读全文
posted @ 2017-10-19 08:00 WeiAR 阅读(208) 评论(0) 推荐(0) 编辑
摘要:线性求逆元1.这是求1~ni的逆元为i^(-1) (mod p)我令p=k*i+r,0<i<p,r<ip=0(mod p)k*i+r=0(mod p)两边同时乘(i^(-1))*(r^(-1)),然后移项i^(-1)=-k*r^(-1)(mod p)i^(-1)=-(p/i)*(p%i)^(-1)( 阅读全文
posted @ 2017-10-17 21:44 WeiAR 阅读(606) 评论(0) 推荐(0) 编辑
摘要:catalan数的新理解h[5]==h[4][0]+h[3][1]+h[2][2]+h[1][3]+h[0][4];对于这种递推式就是catalan数 阅读全文
posted @ 2017-10-17 20:57 WeiAR 阅读(148) 评论(0) 推荐(0) 编辑
摘要:P1375 小猫(二飞的小憨猫)连两个点,就把一个多边形,分成了两部分,这两部分的点一定得是偶数,这样就可以递推啦,比如h[5]==h[4][0]+h[3][1]+h[2][2]+h[1][3]+h[0][4]; 阅读全文
posted @ 2017-10-17 20:56 WeiAR 阅读(206) 评论(0) 推荐(0) 编辑
摘要:Lucas定理适用于大组合数取模。C(n,m)%p==lucas(n,m,p)==C(n%p,m%p)*lucas(n/p,m/p,p);然后递归调用即可,显然,C(n,0)%p=1;因为p是质数,这里套用费马小定理,a^(p-1)=1(mod p),a的逆元为a^(p-2),然后套快速幂,预处理阶 阅读全文
posted @ 2017-10-15 21:35 WeiAR 阅读(149) 评论(0) 推荐(0) 编辑
摘要:常用数列斐波那契 1 1 2 3 5 8错排 1 0 1 2 9 44catalan 1 1 2 5 14 42 阅读全文
posted @ 2017-10-14 22:29 WeiAR 阅读(196) 评论(0) 推荐(0) 编辑
摘要:P2398 GCD SUM一开始是憨打表,后来发现打多了,超过代码长度了。缩小之后是30分,和暴力一样。正解是,用f[k]表示gcd为k的一共有多少对。ans=sigma k(1->n) k*f[k].g[k]表示f[k]+f[2*k]+...+f[(n/k)*k];so f[k]=g[k]-(f[ 阅读全文
posted @ 2017-10-09 16:14 WeiAR 阅读(156) 评论(0) 推荐(0) 编辑
摘要:P1890 gcd区间我一开始80分暴力,模拟100做法dpO(n^2+m)f[i][j]表示i到j的 gcd初始化f[i][i]=i;f[i][j]=gcd(f[i][j-1],a[j]);这样查询就到了O(1) 80代码 100分 阅读全文
posted @ 2017-10-06 20:48 WeiAR 阅读(204) 评论(0) 推荐(0) 编辑