坑點/trick/結論

  • \[n \brace m\]數組

    \[n \brack m\]函數

$$n \brace m$$

  $$n \brack m$$
  • 最大流必定要成對加邊,不然^1時編號就亂了優化

  • (阿狸的打字機)dfs進入時樹狀數組上 Modify(dfn[u], 1) 回溯時 Modify(dfn[u], -1),能夠用子樹和求從根到 u 的鏈的一部分ui

  • 處理1-n的階乘和階乘逆元之後 能夠O1算1-n某個數的逆元 (fac[x-1]*ifac[x])spa

  • cdq分治能夠用std::mergecode

  • 正下標:it

\(\max\limits_{1\leq n \leq n}\)class

\max\limits_{1\leq n \leq n}

若是直接\limits布星就\mathop括起來:\[\mathop{\left[ \begin{matrix} 0& 0& 0\\ 0& 0& 0\\ 0& 0& 0\\ \end{matrix} \right]}_{123}\]循環

\mathop{\left[ \begin{matrix}
    0&      0&      0\\
    0&      0&      0\\
    0&      0&      0\\
\end{matrix} \right]}_{123}
  • 模任意數n的意義下,1..n 的逆元互不相同map

  • 位運算的東西必定要想一想按位考慮

  • DFT->快速冪->IDFT這種作法須要知足長度次方不大 就是代碼裏的nw要開到長度次方以上,不然多出來的會被模回去(NTT/FFT是循環卷積),不求循環卷積 長度*次方又很大隻能ln+exp

  • 森林點數-邊數=連通塊數

  • 狀壓DP有用狀態不多能夠用map存 (聽說司機這樣過掉了應該只拿40分的題)

  • 並查集merge時 if ((x = Find(x)) == (y = Find(y)) return (好像之前直接fa[x]=y出過問題來着= =

  • 作題先把樣例手算完,代碼過不了樣例按照代碼模擬樣例

  • 對拍 對拍 對拍 對拍

  • 線段樹維護區間最大子段和的null.sum不能是-inf

  • 斜率優化若是已經維護出了凸殼,不要管什麼設 j<k且j比k優,從而推出一個j和k的斜率跟某個與i相關的量的大小關係。這樣太麻煩,直接比較DP(sta[i]轉移到i), DP(sta[i+1]轉移到i),若是sta[i+1]更優就++top; (凸殼上函數是單峯的)

  • 相乘爲徹底平方數的兩個數,知足 其中一個數爲0 或者 將他們的徹底平方數因子除掉,獲得的數相同

  • 非質數的最小質因子最大是 \(\sqrt n\) 級別的,能夠記憶化存一些函數值 好比 \(\sigma_k\) (全部因子的k次冪之和) 能夠記憶化存下全部的 \(\sigma_k(p^k)\) 減小計算量

\[\sigma _k\left( i\times p \right) =\sigma _k\left( \frac{i}{p_r} \right) \times \sigma _k\left( p^{r+1} \right)\]

\[\sigma_k(p^r)=\sum_{j=0}^{r}(p^j)^k=\sum_{j=0}^{r}p^{jk}\]

n=k=1e7,線性篩要用到的 \(\sigma_k\)\(p\)\(r\) 最大僅爲 \(3137\)\(23\)

\[\binom n k \equiv [n \And k=k] \pmod 2\]

相關文章
相關標籤/搜索