推式子小技巧

推式子小技巧

标签(空格分隔): 数学


先讲一些万金油

  • 交换求和顺序,这个很\(naive\)
  • 式子可以随意提到与其无关的枚举项前后,这个也很\(naive\)
  • 算贡献思想,这个非常重要,一般需要一点个人能力,只要转化前后每一项被算的次数一样就可以
  • 熟记常见结论,对模数敏感一点,该卷积的就卷起来用多项式,该反演的反演,该容斥的容斥。
  • 还要一些灵感啊\(QAQ\)

卷积

这个我玩的不怎么熟,只会常见形式。

\[\sum\limits_{i=1}^{n}f(i)g(n-i) \]

没错你碰见什么式子尽量拆成只与\(i\)和只与\(n-i\)有关系的函数就可以了,基本上就是卷积。

\[\sum\limits_{i=1}^{n}f(i)g(i+d) \]

这个嘛,你把\(g\)数组\(reverse\)一下,使得\(g^{'}(n-i-d)=g(i)\),然后又可以卷了。


组合数学

这个我也不熟,随便鬼扯一点。

  • 看到模数是质数又和组合数有关,先想能不能用\(lucas\)优化推理过程,如这道题
  • 基本上所有的扩展数论算法都基于把模数分成\(\prod p_i^{a_i}\)然后对每个\(p_i^{a_i}\)分别处理。
  • 遇到一些特殊的计数\(dp\)找性质,利用数量相等的关系推转移方程,如卡农地精部落地形生成
  • 该二项式反演的就二项式反演,两种形式记清楚
  • \(f(k) = \sum\limits_{i = k}^{n} (-1)^{i}\binom{i}{k}g(i) \Leftrightarrow g(k) = \sum\limits_{i = k}^{n} (-1)^{i} \binom{i}{k}f(i)\)
  • \(f(k) = \sum\limits_{i = k}^{n} \binom{i}{k}g(i) \Leftrightarrow g(k) = \sum\limits_{i = k}^{n} (-1)^{i - k} \binom{i}{k}f(i)\)
  • 然后主要就是容斥,容斥的本质就是减掉多算的,让每个数变成它该算到的次数。
  • 叉姐的标准容斥形式,设\(B_i\)表示第\(i\)件坏事发生的概率,那么\(n\)个坏事都不发生的概率,可以通过\(2^n\)个同时发生的概率计算,\(\{S|B_i\in S\}\)的容斥系数是\((-1)^{|S|}\)

筛法

这个我还是不熟,又要随便扯一点。

  • 线性筛还不会的可以退役了。
  • 埃式筛有时候有奇效,\(min\_25\)差不多就是个埃式筛的过程
  • 看数据范围行事,\(\le 10^6\)基本上是埃式筛,\(\le2*10^7\)之类就要线性筛了,$\le 10^{10} $~\(10^{11}\)杜教和\(min\_25\)准没错,再大了,就要看灵感了。
  • 积性函数是非常非常非常重要的!
  • 判断一个函数是不是积性的,先看是不是基本函数,再根据函数定义判断是不是积性函数,实在不行,两个积性函数的狄利克雷卷积函数是积性的,还不能判断那我也没办法了。
  • 看到一个函数\(f(p)\),看它是不是积性的,如果是,那基本上能线筛,只要能快速求\(f(p)\)\(f(p^k)\)就能线筛,如果不是积性函数,那也可能有一些和线筛过程有关的性质,于是有可以线筛。如此题就是线筛非积性函数的栗子。
  • \(min\_25\)筛的原理一定要理解,用它可以干一些与最小质因子(第一步魔改),最大次大质因子(第二步魔改),特定质因子(都要魔改)等毒瘤问题。
  • 杜教筛是可以有神仙操作的,没事可以试试拿常见的一些函数去卷,毕竟任何积性函数卷任何积性函数结果还是积性函数。如循环之美

常见结论

\[\sum_{d|n}\mu(d)=[n=1]\\ \sum_{d|n}\varphi(d)=n\\ (\varphi*e)=(\mu*I)\\ \sum_{d=1}^n\sum_{i=1}^n\sum_{j=1}^m[gcd(i,j)==d]\\ =\sum_{d=1}^n\sum_{i=1}^{\lfloor\frac nd\rfloor}\sum_{j=1}^{\lfloor\frac md\rfloor}[gcd(i,j)==1]\\ =\sum_{d=1}^n\sum_{i=1}^{\lfloor\frac nd\rfloor}\mu(i)\lfloor\frac n{id}\rfloor\lfloor\frac m{id}\rfloor\]

咕咕咕

posted @ 2018-12-27 20:43  Cgod  阅读(887)  评论(0编辑  收藏  举报