題目描述:求一個算式的最大值與最小值。git
solution
按普通算式計算方法作,只不過要同時記住最大值和最小值而已。網絡
題目描述:定義函數\(gay(x)\),若\(x\)是某個非\(1\)的數的平方的倍數,則\(gay(x)=0\),不然\(gay(x)=x^2\),求\(\sum_{num=1}^{n} ( \sum_{i=1}^{num} gay(x) ) mod p\)electron
solution
\[\sum_{num=1}^{n} ( \sum_{i=1}^{num} gay(x) ) mod p\]
\[(n+1)\sum_{i=1}^{n} gay(i) - \sum_{i=1}^{n} i \cdot gay(i)\]
而後容斥就能夠算出答案,用上莫比烏斯函數。函數
時間複雜度:\(O(\sqrt{n}\))spa
題目描述:判斷圖的\(k\)短路是否不超過\(T\).rem
solution
模板題。it
題目描述:給定一個二分圖,如今選擇一些邊,使得最終全部點的度都在\([L, R]\),判斷是否可行。io
solution
上下界網絡流的模板題。ast
題目描述:定義\(a_n\),求\(\sum_{i=1}^{n} [gcd(m, i)=1] a_i\)
\[ a_n =\left\{\begin{matrix} 0, & n=0\\ 2, & n=1\\ \frac{3a_{n-1} - a_{n-2}}{2}+n+1 & n>1 \end{matrix}\right. \]模板
solution
找規律可得\(a_n=n(n+1)\),
\[\sum_{i=1}^{n} [gcd(m, i)=1] a_i\]
\[=\sum_{d|m} \mu(d) \sum_{x=1}^{n/d} (xd)(xd+1)\]
\[=\sum_{d|m} \mu(d)[d^2 \sum_{x=1}^{n/d} x^2 + d \sum_{x=1}^{n/d} x]\]
因此能夠對\(m\)分解質因數,窮舉\(m\)全部非平方倍數的因子(由於只有這些因子對應的\(\mu\)不爲\(0\)),後面的直接求和便可。
時間複雜度:\(O(能過)\)
solution
字典樹+模擬。
題目描述:有一棵有根樹,有兩種操做:1.給深度爲\(L\)的點加\(x\) 2.求一棵子樹的和。
solution
樹分塊。求樹的\(dfs\)序,將\(dfs\)序分紅\(\sqrt{n}\)塊,算出每一塊每種高度的個數,對於操做1,每一塊的答案增長\(x\)乘於高度爲\(L\)的個數。對於操做2,求的是\(dfs\)中連續一段區間的和,那就是很普通的分塊計算。
時間複雜度:\(O(n\sqrt{n})\)
題目描述:若是一個素數的非空子序列也是素數(或者\(1\)),那麼這個素數叫作超級素數,給定一個\(n\),求不大於\(n\)的最大超級素數。
solution
顯然這樣的數很少,並且比較小,因此能夠先暴力求出全部超級素數,而後詢問的時候再二分查找。
時間複雜度:\(O(能過)\)