求 Σ_{if[len][0][0][2] - K * g[len][0][0][2] (mod Mod)。
n 種數字,值 aᵢ,個數 bᵢ,權 cᵢ。若 aᵢ|aⱼ 且 aᵢ/aⱼ 為質數,可配對得 cᵢcⱼ。構建二分圖(按質因子個數奇偶分左右),跑最小費用流,當費用變負時停止,輸出當前流量。預處理質數篩,檢查配對條件。復雜度取決於流算法,數據範圍允許 SPFA+ISAP。
樹上點權、邊權。操作:路徑點權取 min(v[x], a·dis[x]+b);查詢路徑最小點權。dis[x] 為到路徑起點邊權距離。視為向區間添加線段 y = kx+b,線段樹維護每個節點的「最優線段」(李超樹思想)。插入線段時比較區間端點與中點,保留更優者,另一條下推。查詢取節點存儲線段與子樹最小值的 min。結合重鏈剖分處理路徑,總復雜度 O(n log³ n)。
字符串逐字符添加到末尾,每次輸出當前不同非空子串數。反轉字符串構建後綴數組。總子串數 = n(n+1)/2 - Σ height[i]。動態維護:用權值線段樹維護 rank 集合,新加入後綴查詢前驅後繼,答案增量 = 新長度 - lcp(新,前驅) - lcp(新,後繼) + lcp(前驅,後繼)。LCP 用 ST 表 O(1) 查詢。總 O(n log n)。
長度 n 排列,恰好 m 個固定點。答案 = C(n,m) × D_{n-m},D 為錯排數:D₀=1, D₁=0, Dᵢ=(i-1)(D_{i-1}+D_{i-2})。預處理階乘與逆元,O(1) 回答。模 1e9+7。
序列分成 m 段,最小化 m²×方差 = m Σ xᵢ² - (Σ xᵢ)²。Σ xᵢ 固定,等價最大化 Σ xᵢ²。設前綴和 a[i],DP:f[j][i] = max_{k