原创 CF1398G Running Competition FFT

求最大的 $2(a_{i}-a_{j}+y)|L$.      其中 $a_{i}-a_{j}$ 只可能有 $x$ 種結果.   這個顯然可以用 FFT 來算可行性.     然後調和級數更新就可以了.        FFT 中複數的運算什

原创 Luogu「StOI-2」簡單的樹 樹鏈剖分+線段樹+倍增

考場的時候智障了,寫了 6k+ 的樹鏈剖分.    如果題目帶修改的話可以用樹鏈剖分來維護,但由於沒有修改用一個前綴和其實就夠了.   求 $\sum_{i=l}^{r} f(a,i)$ 可以寫成兩個前綴相減的形式.   然後我們就要求 $

原创 【UNR #4】序列妙妙值 分塊+DP

只會 80pts.   最裸的暴力(40pts)    令 $f[i][j]$ 表示當前 DP 到 $i$,劃分成了 $j$ 段的最小值.   時間複雜度 $O(n^2)$    一點優化(60 ~ 80pts)  有幾個測點 $a[i]$

原创 LOJ#3145. 「APIO2019」橋樑 分塊+可撤銷並查集

看到這道題時沒有什麼思路,只會打暴力,而且數據範圍比較有迷惑性,那基本就是分塊了. 現在有兩個暴力: 1.每次 $O(1)$ 更新邊權,然後 $O(m)$ 暴力查詢一個點的答案.2.每次將所有邊排序,然後 $O(1)/O(\log n)

原创 LuoguP1654 OSU! 概率與期望

感覺數學期望這裏始終都沒太學明白. 期望在任何時候都具有線性性,即 $E(a+b)=E(a)+E(b)$,這個式子任何時候都成立. 先考慮求 $x$,$x^2$. 令 $x1[i]$ 表示 $i$ 爲 $1$ 向前的極長 $1$ 的期

原创 LuoguP5008 [yLOI2018] 錦鯉抄 tarjan+貪心

首先,如果是一個 DAG 的話入度不爲 0 的點肯定可以都選.        然後如果是一般圖的話我們縮點,考慮對於一個強連通分量如何處理:   如果該強連通分量入度爲 0 ,那麼一定有一個點不能選,其他點都能選.   如果該強連通分量入讀

原创 Comet OJ - Contest #8 神奇函數 莫比烏斯反演+歐拉函數

令 $x=\prod p_{i}^{a_{i}}$ 則 $f(x)=\prod p_{i}^{\frac{a_{i}}{2}}$ 也就是說 $f(x)$ 等於最大的 $y$ 滿足 $y^2|f(x)$ $\sum_{i=1

原创 LuoguP6747 『MdOI R3』Teleport 二進制+貪心

令 $f[i]$ 表示考慮第 $1$ ~ $i$ 位的最小代價.   由於要求最大化 $k$,所以從高位向低位貪心.    判斷的話就判一下當前二進制位選 1 的代價加上 $f[i-1]$ 是否小於等於 m.    如果可以選就貪心選 1.

原创 LuoguP6748 『MdOI R3』Fallen Lord 樹形DP+set

首先,肯定沒有不合法情況(每條邊的權值都賦值爲 $1$ 就一定合法)    然後對於一條邊 $(x,y)$ 來說,只可能有 3 種取值.   1. 取 $a[x]$  2. 取 $a[y]$  3. 取 $m$     然後轉化成這一步後就

原创 LOJ#2719. 「NOI2018」冒泡排序 DP+組合+樹狀數組

打表發現一個排列滿足要求,當且僅當這個排列以被拆成兩個 LIS(其中一個可以爲空)考慮狀壓 DP:$f[S][i][0/1]$ 表示加進去數集 $S$,第二個 LIS 的最大值爲 $i$,是否頂上界.我們拆分 $LIS$ 的方式是貪心地將較

原创 LuoguP5576 [CmdOI2019]口頭禪 後綴樹+線段樹+暴力

一個比較暴力的解法.   先對所有串建出廣義後綴自動機提取出後綴樹然後按照詢問的右端點離線.    考慮插入第 $i$ 個串,那麼會被 $i$ 及 $i$ 的祖先遍歷到的點的表示範圍會從 $[l,r] \rightarrow [l,r+1]

原创 LOJ#3161. 「NOI2019」I 君的探險 整體二分+隨機化+二進制分組

比較神仙的隨機化+交互題.     測試點 $1$ ~ $5$ :     限制條件不強,可以直接點亮一條邊中編號小的點 $x$,然後再枚舉編號大於 $x$ 的點.   操作次數:$O(n)$   查詢次數:$O(n^2)$       

原创 LOJ#2085. 「NOI2016」循環之美 莫比烏斯反演+杜教篩

求:$\sum_{i=1}^{n} \sum_{j=1}^{m} [(i,j)=1][(j,k)=1]$ 這個時候可以拆前面的,也可以拆後面的. 由於後面的 $k$ 是一個定值,考慮拆解後面的部分. 得:$\sum_{d|k} \mu(d)

原创 LuoguP5327 [ZJOI2019]語言 線段樹合併+樹鏈求並

比較好的一道數據結構題.     對於 $i$,我們希望求出所有經過 $i$ 號點的路徑所構成的樹鏈之並.     考慮一個求解樹鏈的並的經典做法就是 $\sum_{i=1}^{n} dep[i]-\sum_{i=2}^{n} dep[LC

原创 LOJ#3124. 「CTS2019 | CTSC2019」氪金手遊 容斥+DP

神仙容斥+DP可還行.   code:  #include <cstdio> #include <cmath> #include <vector> #include <cstring> #include <algorithm>