Loading [MathJax]/jax/element/mml/optable/MiscTechnical.js

随笔分类 -  数学

数论,组合数学
摘要:高精,Stein 阅读全文
posted @ 2018-11-06 17:18 SWHsz 阅读(182) 评论(0) 推荐(0) 编辑
摘要:预处理出来所有的双平方数,然后枚举地一个和第二个数。 中间要加一个剪枝。因为知道了首项和公差和项数就能求出最后一项是不是可行的了。 阅读全文
posted @ 2018-10-25 11:23 SWHsz 阅读(309) 评论(0) 推荐(0) 编辑
摘要:发现如果要凑n的钱,如果凑齐了以下钱再来一个\llcorner n/2 \lrcorner就行了。 这样我们就可以分治了。。 阅读全文
posted @ 2018-10-19 15:31 SWHsz 阅读(105) 评论(0) 推荐(0) 编辑
摘要:结论:(fib_n,fib_m)=fib_{(n,m)} 证明:参考大佬的blog OrzCTY (我怎么记得以前板板讲过Orz 然后用矩阵快速幂随便做了。。。 #include <iostream> #include <cmath> #include <cstdio> #inclu 阅读全文
posted @ 2018-10-18 11:53 SWHsz 阅读(1163) 评论(3) 推荐(0) 编辑
摘要:期望DP。 发现第i次的期望分数和第i-1次的连击次数有关。 设第i次连击次数是g[i] 因为是三次方,f[i]=f[i-1]+(g[i-1]*3+g[i-1]*g[i-1]*3+1)×p[i] 因为(x+1)3展开就是大概这个样子。 但是期望不可以直接乘。 所以我们维护一个次数的平方和次数即可。 阅读全文
posted @ 2018-10-16 17:36 SWHsz 阅读(91) 评论(0) 推荐(0) 编辑
摘要:阶梯型问题考虑卡特兰数有惊喜哦。。。 这个写的很明了Orz 高精度可是烦人啊。。 python大法好! a=input() c=1 for num in range (a+2,a*2+1): c=c*num for num in range (1,a+1): c=c/num print c 阅读全文
posted @ 2018-10-16 16:04 SWHsz 阅读(117) 评论(0) 推荐(0) 编辑
摘要:1.费马小定理|欧拉定理 由费马小定理得当p为质数,(a,p)=1时,ap-1≡1 mod p 所以ap-2≡a-1 由欧拉定理当(a,p)=1但p可以不为质数,aΦ(p)≡1 mod p 2.扩展欧几里德 设a的逆元为x,则可以视作ax≡1 mod p 可以视作 ax-bp=1 然后用扩展欧几里德 阅读全文
posted @ 2018-10-16 11:57 SWHsz 阅读(186) 评论(0) 推荐(0) 编辑
摘要:XiaoX早就切了Orz 这道题是个组合数学题。 里面用到了卡特兰数的思想。 我们可以把这个操作放到坐标系上,一开始有个点在(0,0),然后把1看作(+1,+1),0看做(+1,-1) 然后我们就可以把问题视作从(0,0)出发,到(n+m,n-m),不经过y=-1的方案数。 经过y=-1的就可以对称 阅读全文
posted @ 2018-10-16 09:51 SWHsz 阅读(144) 评论(0) 推荐(0) 编辑
摘要:郝神并没有令我明白这个。 但是巨神的题解太强了。 #include <iostream> #include <complex> #include <cmath> #include <cstdio> #include <cstring> using namespace std; const int N 阅读全文
posted @ 2018-10-15 16:43 SWHsz 阅读(120) 评论(0) 推荐(0) 编辑
摘要:组合数学+容斥原理 设f[i][j]表示第i个序列中的j的倍数的个数。 然后以j为gcd的贡献就是(π(f[i][j]+1) )-1 然后从大到小枚举j,删去j的倍数的贡献即可。 阅读全文
posted @ 2018-10-13 09:14 SWHsz 阅读(98) 评论(0) 推荐(0) 编辑
摘要:一道好♂玩的题。 考虑怎么才能让这个序列满足条件。 考虑到这个高度是个n的排列,然后我们可以发现n一定是左右都可见的,然后就可以认为左边的前缀max有A-1个值,右边的后缀max有B-1个值。 可以认为成从n-1个数中取A+B-2个数组成一个圆排列,A-1个放左边。 所以这样的话答案就是strlin 阅读全文
posted @ 2018-10-08 22:05 SWHsz 阅读(102) 评论(0) 推荐(0) 编辑
摘要:大意:给你一个平面上N(N<=100000)个点,问相切于x轴的圆,将所有的点都覆盖的最小半径是多少。 计算几何???Div2的D题就考计算几何???某人昨天上课才和我们说这种计算几何题看见就溜。。。。 打完比赛才发现好像并不用计算几何,实则是一个二分答案的水题。。 发现如果点在x轴两侧就肯定不行, 阅读全文
posted @ 2018-10-06 20:28 SWHsz 阅读(340) 评论(0) 推荐(0) 编辑
摘要:Informatik verbindet dich und mich Informatik verbindet dich und mich 扩展欧拉定理+线段树。 Informatik verbindet dich und mich 由扩展欧拉定理得,cc...最终上面的指数必定变成1.(不会打这个 阅读全文
posted @ 2018-10-06 19:27 SWHsz 阅读(437) 评论(0) 推荐(0) 编辑
摘要:容斥+背包。 先做完全背包,然后就去掉用的硬币大于限量的,用容斥原理去下重就行了。 #include <iostream> #include <cstdio> #include <cstring> using namespace std; const int N=100005; int c[5],T 阅读全文
posted @ 2018-10-05 19:45 SWHsz 阅读(123) 评论(0) 推荐(0) 编辑
摘要:有个套路:计算单调不降的,可以给第i项加一个i,转化成单调递增的,然后就变成了在值域[L+1,R+N]中取1~n个数。 复制一下popoqqq大佬的图片 M=R-L+1。 式子就变成了这个样子。 Lucas定理随便做了。 #include <iostream> #include <cstdio> # 阅读全文
posted @ 2018-10-04 20:45 SWHsz 阅读(144) 评论(0) 推荐(0) 编辑
摘要:???签到题??? 用BSGS做,但是我没有看见m一定是素数,打了个ExBSGS...... 大概意思可以把式子转化成10n≡9*K+1 mod m 然后就是BSGS的板子了 然后因为K,M巨达1011,因此需要用龟速乘。 #include <iostream> #include <cstdio> 阅读全文
posted @ 2018-09-17 16:04 SWHsz 阅读(145) 评论(0) 推荐(0) 编辑
摘要:题面:Please contact lydsy2012@163.com! 给出n个数(A1...An)现求一组整数序列(X1...Xn)使得S=A1*X1+...An*Xn>0,且S的值最小 由裴蜀定理, 设a1,a2,a3......an为n个整数,d是它们的最大公约数,那么存在整数x1..... 阅读全文
posted @ 2018-09-14 17:35 SWHsz 阅读(123) 评论(0) 推荐(0) 编辑
摘要:毫无思路,Orz了一下大佬的思路%%%。 大概就是因为k比n小的多,我们知道约瑟夫环有个公式是fn=(fn-1+k) mod n 可以改一下,改成fn+p=(fn+pk) mod (n+p) 但是这样的话就不对了,因为有mod,模数是改变的。 pk肯定大于p。然后我们可以让这个模数等价,就是mod 阅读全文
posted @ 2018-09-13 21:06 SWHsz 阅读(187) 评论(0) 推荐(0) 编辑
摘要:结论:一个图的生成树个数等于它的度数矩阵减邻接矩阵得到的矩阵(基尔霍夫矩阵)的任意一个n 1阶主子式的行列式的绝对值 证明:不会 求法:高斯消元 例题:[HEOI2013]小Z的房间 cpp include include include define int long long using nam 阅读全文
posted @ 2018-09-12 20:31 SWHsz 阅读(246) 评论(0) 推荐(0) 编辑
摘要:裸杜教筛板子。 cpp include include include using namespace std; typedef long long ll; const int N=7000000; mapph,mu; int prime[N 3],tot;short miu[N]; bool vi 阅读全文
posted @ 2018-09-12 17:15 SWHsz 阅读(213) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示