
数学相关
一只蒟蒻
这个作者很懒,什么都没留下…
展开
-
BZOJ4031——HEOI小z的房间
题意:求某网格图生成树个数,对1e9取模 题解:题目是裸的Matrix-Tree定理,这不是我要说的重点,重点是对于这个取模的处理。 因为这不是个质数,所以不能直接乘逆元来当除法用,直接高斯消元肯定是不行的,需要一定实现的小技巧。 我们可以考虑gcd的实现过程,辗转相除直到一个为0。多么好的思路,对于这个问题我们也可以这样处理,每次减掉相应的倍数即可 下面是代码#include <bits/原创 2015-07-13 11:49:36 · 1054 阅读 · 0 评论 -
快速数论变换(NTT)
题面很简单,就懒得贴了,那不是我要说的重点。 重点是NTT,也称快速数论变换。 在很多问题中,我们可能会遇到在模意义下的多项式乘法问题,这时传统的快速傅里叶变换可能就无法满足要求,这时候快速数论变换就派上了用场。 考虑快速傅里叶变换的实现,利用单位复根的特殊性质来减少运算,而利用的,就是dft变换的循环卷积特性。于是考虑在模意义下同样具有循环卷积特性的东西。 考虑在模p意义下(pp为特定的质原创 2015-07-08 20:29:49 · 4533 阅读 · 0 评论 -
算法与数据结构八日谈之五——数学相关
1.模算术欧几里得算法求最大公约数int gcd(int a,int b){return b==0 ? a: gcd(b,a%b);}扩展欧几里得算法求乘法逆元也可利用费马小定理和快速幂直接求出乘法逆元快速乘法在模数大于int范围时直接乘可能会溢出,可以用基于二分的加法来代替乘法快速幂模线性方程组中国剩余定理,实现方法与拉格朗日插值法类似离散对数BSGS算法Lucas定理2.矩阵及其运算矩阵乘法的应原创 2015-07-05 17:45:08 · 903 阅读 · 0 评论 -
BZOJ3884 上帝与集合的正确用法
题目简述: 求这坨东西的值:2222...modp2^{2^{2^{2^{...}}}}\mod p 题解: Orz PoPoQQQ,大爷的题果然厉害 原版题解在这里 我们先把pp中的2提出来,像这样p=2k∗tp=2^k*t 于是原来那一坨东西就可以变成:2k(2(222...−k)modp)2^k\big(2^{(2^{2^{2^{...}}}-k)}\mod p \big) 再根原创 2015-06-25 14:57:13 · 629 阅读 · 0 评论 -
BZOJ4002 有意义的字符串
题目简述: 求下面这一坨东西的值: ⌊(b+d√2)n⌋mod7528443412579576937 \bigg \lfloor\Big( \frac{b+\sqrt{d}}{2} \Big)^n\bigg\rfloor \mod 7528443412579576937 题解: 我们先把里面玩意拿出来单独看 我们令x1=b+d√2x_1=\frac{b+\sqrt{d}}{2}x2=b−d原创 2015-06-24 07:31:39 · 682 阅读 · 0 评论 -
BZOJ3029 花神的数论题
题目简述: 设sum(x)sum(x)为xx的二进制表示中11的个数,然后求下面这玩意的值 ∏i=1nsum(i) \prod_{i=1}^{n}sum(i) 题解: 看上去就是数位dp。。 先把nn拆成二进制,然后枚举二进制数中11的个数。对于每种情况,从高位向低位枚举,如果该位有11,则将此位置的11固定下来,然后答案加上(i−1k)\binom{i-1}{k}其中ii是当前位的位置,原创 2015-06-23 15:01:48 · 549 阅读 · 0 评论 -
试一下LaTeX
试一下LaTeX ∑i=1ni2=n(n+1)(2n+1)6 \sum_{i=1}^n i^2 = \frac{n(n+1)(2n+1)}{6} ∫+∞−∞12π−−√σe−(x−μ)22σ2dx=1\int_{-\infty}^{+\infty} \frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x-\mu)^2}{2\sigma^2}}dx=1 (∑i=1na2原创 2015-06-22 13:29:24 · 548 阅读 · 0 评论