原创 決策單調性總結

決策單調性,通常用於1d/1d。 就是說,對於任意\(a<b<c<d\),若滿足在c處轉移到b比a優,那麼在d處也滿足。 另外一種理解:轉移決策點單調不降。 證明:主要靠打表。 得到這個性質後,我們有兩種方法: 1、分治法 每次取分治區

原创 模擬賽 矩形框 題解

題意: 給出n個矩形,求一個面積最小的矩形,使其能容納這些矩形。 \(n \leq 6\)。 首先,通過枚舉排列,確定這n個矩形的排列順序。 然後,按照這個順序,以此放置每個矩形。 把第一個矩形放在左上角。 之後,枚舉每個矩形x。爲了使

原创 所有生成樹邊權和的和的求法

通常,矩陣樹定理算出的生成樹是邊權乘積的和。 如果計算所有生成樹邊權和的和,比較暴力的方法就是枚舉一條邊,然後計算包含這條邊的生成樹個數。 這樣的時間複雜度是\(O(mn^3)\)的,最壞爲\(O(n^3)\)。 考慮優化: 對於一條邊

原创 迴文自動機(PAM)總結

迴文自動機是接受一個字符串的所有迴文子串的自動機。 迴文自動機中每個點代表原串的一個迴文子串。 維護兩種指針:\(trans\),\(fail\)。 點 \(x\) 的 \(trans[x][c]\) 指針指向在這個點代表迴文串兩端同時

原创 字典序最小最小割

通常,構造最小割時,我們對殘量網絡進行bfs,設能夠到達的集合爲S,不夠到達的集合爲T (遍歷時考慮反向邊),則從S指向T的邊被割掉。 但是有時,需要求字典序最小的最小割。 我們可以把所有的邊從小到大排序,並遍歷。 如果當前邊可以刪除,

原创 CF235D

題意:求基環樹隨機點分治次數期望 首先,這道題的本質是給分治中心隨機排列。 考慮分治中心x與y連通的概率,若x到y是一條鏈,就要求x到y上的所有點,在x之後被刪除。 把這些概率加到一起就是答案。 如果這條鏈包含的點數爲a,容易證出此時是

原创 模擬賽 circle 題解

題意:有N個數,問有多少個x,\((x\leq T)\),滿足這N個數分別+x後,異或和爲S。每個數小於\(2^M\)。 數位DP。 由於是加法,需要記錄進位,因此從低位到高位DP。 只要記錄下有幾個進位,就可以根據這N的數的大小知道究

原创 平面圖總結

原创 kd 樹總結

目錄一、查詢距離最值代碼:二、矩形修改,矩形查詢代碼: kd 樹是一種分割 k 維數據空間的數據結構。 它通常被用來解決 k 維空間中的距離最值 ( 第 k 小值 ) 問題。 當然,它也能解決其它問題。 建樹的方法: 假設我們的平面上的

原创 麻將總結

首先,麻將可以DP。 用DP枚舉順子,因爲3個順子可以變成3個刻子,因此同一位置的順子數目不會超過2。 這樣,在DP時,記錄前兩個位置選擇的順子個數,即可。狀態數爲9。 將9個狀態的值進行壓縮(可以增加順子和刻子的數量),並記錄轉移,可

原创 BM算法總結

BM算法,可以求一個數列的最短遞推式。 採用增量法,依次考慮每個數: 若在這個位置上正確,則忽略; 否則,類似拉格朗日插值法,找一個滿足在前面位置都爲0,這個位置上不爲0的遞推式,進行修補。 每當我們遇到一個這樣的位置時,我們都可以得到

原创 高斯消元處理自由變元的方法

在普通的高斯消元中,我們可以直接將矩陣削成對角線矩陣。 void gauss(double sz[1002][1002],int n,double ans[1002]) { for(int i=0;i<n;i++) {

原创 一類樹上問題的總結

目錄 方法一優點 缺點 方法二優點 缺點 例題:- CF70E Information Reform - P3267 [JLOI2016/SHOI2016]偵察守衛代碼 模擬賽的題 有時,我們會遇到這樣的問題: 在一個樹

原创 考試程序

一個能出分數,小數,百分數四則混合運算的程序。 先隨機生成一顆二叉樹,作爲表達式樹。 然後,將葉子隨機一個分數。 之後,進行dfs,計算答案。 若答案不在合法範圍內,則從頭來。 判斷括號,dfs括號深度來決定是”{}“,”[]“,”()

原创 [TJOI2017]龍舟