算法笔记

数据结构

后缀数组

  后缀数组多实例的时候记得清height数组和c数组。

数论

除法取模

  除法取模有一个(\(b\)可以不是质数)公式: \(a\div b \mod p = (a\mod (b\times p))\div b\)

  • 证明:
  • \(a\div b = k\times p + x, (x<p)\)
  • 两边同乘\(b\)可得: \(a = k\times p \times b + x\times b\)
  • 再对\(a\)取模: \(a \mod (p\times b) = x\times b\)
  • 两边同除\(b\)得: \((a\mod (p\times b))\div b = x\)

数根

九余数定理

计算组合数的时候别忘了c[0][0],有时候会出错。

    for (int i = 0; i<maxn; ++i) c[i][0] = c[i][i] = 1;
    for (int i = 2; i<maxn; ++i)
        for (int j = 1; j<i; ++j)
            c[i][j] = (c[i-1][j]+c[i-1][j-1])%MOD;

常用组合数计算公式

posted @ 2020-05-11 08:15  shuitiangong  阅读(238)  评论(0编辑  收藏  举报