1. 程式人生 > >記錄 [補檔]

記錄 [補檔]

獨立 個人 mark 路徑壓縮 概率論 clas nac 思想 概率

數學

  • 概率論
  • 計數問題
  • 數論
  • 線性代數
  • 博弈論

比賽經驗

  • 不要通過數據大小猜測正解的時間復雜度. 把一個方法想到底.
  • DP題假如實在不會的話, 果斷跳過, 找思維量更小的數據結構題.

一些方法

二分
DP, 尤其多想矩陣乘法優化DP
網絡流
FFT

日程表

Fri, Nov 10

明天就是NOIp了.
從上次記錄到現在已經將近一個月了, 這個月, 真心沒有進步多少, 完全不再狀態.
希望不要AFO吧.
這可能是最後一篇記錄了.

Sun, Oct 22

AHOI 2009 中國象棋: 統計在棋盤上按照一定規則放置棋子的方案數的經典題. 好題.

Wed, Oct 18

ZJOI 2007 棋盤制作: 懸線法\(O(nm)\)

解決最大子矩形問題. 見最大子矩形問題學習筆記.

Tue, Oct 17

有線電視網: 證明了一類樹上DP的時間復雜度問題. 這類問題需要合並一個節點的每個字節點的信息, 信息的量與子樹的size線性相關. 通過優化枚舉, 可以使得合並一個節點的所有子樹信息的時間復雜度等於以它為LCA的點對數量, 因而總時間復雜度為\(O(n^2)\).

Tue, Oct 10

循環移位: 好題. 難得一見地同時利用了後綴自動機上的連邊與後綴樹上的連邊. 經驗: 找某個子串的後綴字符, 可以用後綴自動機上的連邊; 找某個子串的前綴字符, 則用後綴樹上的連邊.

Mon, Oct 9

Lucas的數論終於算是做出來了...
數論到這裏暫時先放一放, 開始看博弈.

Fri, Oct 6

Hero Meets Devil: 第一道DP套DP終於寫出來了... 話說真的沒看出有什麽"套"的感覺呀...

Thu, Oct 5

炮艇: 對於那些存在兩個人相遇的問題, 註意相遇的只可能是原本就相鄰的兩個人.

Mon, Sep 25

後面可能不再每一題都在這裏羅列了.
可能只寫一些有心得體會的題目.了

小狐貍: 不要忘記了DP除了優先隊列優化與斜率優化以外, 還有矩乘優化.

Wed, Sep 20

你問我中間那幾天幹嘛去了?
我也很絕望啊, 整個人像是傻了一樣...
sub: 給定一棵樹, 每個點有一個權值, 每次操作可以修改一個點的權值, 或者是詢問整棵樹中權值之和最大的連通塊的權值之和. 做法是用線段樹維護區間左邊, 右邊, 中間的信息. 可以樹上的想不到, 可以先想序列上的做法.

Thu, Sep 14

prz: 序列DP. 由於題目給定的每個數字在串中最多出現一次的性質, 可以用巧妙的方法解決.
不虛就是要AK: 點分治傻題. 以後打比賽的時候, 一定要先把所有題目看完, 按照難易程度做.
神奇的樹: 樹上DP. 實現上稍微有點麻煩. 總結兩點經驗:

  • 不要通過數據大小猜測正解的時間復雜度. 把一個方法想到底.
  • DP題假如實在不會的話, 果斷跳過, 找思維量更小的數據結構題.

Wed, Sep 13

棋盤控制: 概率與期望 + DP. 註意DP的其中一維是用到的棋子數量. 因為對於同一個控制狀態, 用到的棋子個數可能是不同的.
tree: 基環樹分治呀... 註意並查集要路徑壓縮, 否則莫名TLE掉就無可奉告了.
樹上的猴子: 差分約束模板題... 這應該是我第一次實現差分約束.

Mon, Sep 11

一點經驗: C++中的結構體存在字節對齊, 也就是說同一個結構體中的不同大小變量會被強制變成大小最大的變量處理. 這一點在計算空間的時候一定要加以註意.

Sun, Sep 10

string: KMP建立trie圖 + 概率論亂搞. 我的方法本質上是解方程, 但考慮到這個方程組的特殊性質, 可用遞推\(O(n)\)進行.
BZOJ 4025: Link-Cut tree維護二分圖. 好題.

Sat, Sep 9

fibonacci: 線段樹套矩陣乘法優化斐波那契數列. 比較好的題目. 註意假如預處理轉移矩陣\(trans^{2^n}\), 則常數會優越不少.

Tue, Sep 5

蟲子: link-cut tree好題.

Mon, Sep 4

24點大師: \(2 \times 2 \times 3\)構造題. 不做贅述.
無聊的字符串: 這題貌似是可以用後綴自動機實現的, 但是我的方法比較奇怪, 用了帶子節點標號的後綴樹. 第一次寫, 出了一點小偏差.

Sun, Sep 3

Y隊列: 莫比烏斯函數容斥
字典樹: 後綴樹上樹剖. 題意根本就是有問題, 導致我場上爆零. 註意到樹剖序列可以直接進行子樹修改的性質

Fri, Sep 1

Atcoder Contest 015 E: 關鍵在於發現, 假如我們把一個點在開始時就染成紅色, 可以將哪個區間中的點染紅.
集串雷: 分數規劃傻題. 鑒於我總是忘記分數規劃怎麽寫, 在題解中同時寫了分數規劃學習筆記.

Thu, Aug 31

數組: 線段樹的奧妙用法

Wed, Aug 30

寫了長鏈剖分學習筆記
crash的遊戲: 用到了組合數的現實意義, 以得到DP式子. 總之以後看到不會化簡的組合數式子, 就往現實意義去想, 爭取用DP解決.
銀河戰艦: 用了長鏈剖分思想的好題, 同時還需要知道LIS的另類實現方式.

Tue, Aug 29

任務安排: 優先隊列優化DP, 場上沒想出來.
river: 網絡流 + 構造
ball: 辛普森積分, 再利用了行列式值等於對圖形進行線性變換前後體積的比值的性質.

Aug 28, Mon

BZOJ 3672 購票: 樹鏈剖分 + 線段樹維護凸包.
BZOJ 4197 壽司晚宴: 分塊DP. 運用了一個數大於等於其平方根質因數最多只有1個的性質, 按照\(\sqrt{500}\)分類討論.

Aug 26, Sat

Divljak強行用後綴自動機寫了一發... 還沒讀入完就MLE了QAQ...

Aug 25, Fri

測試審錯題, 強行寫了一發虛樹...心累...
最小路徑覆蓋問題復習:
問題概述: 給定一張有向圖, 要求找出數量最少的路徑, 使得對於每個點有且僅存在一條路徑將其包含. 一條路徑可以沒有邊, 只有一個點.
問題解決: 建立二分圖, 將每個節點拆成兩個狀態, 分別表示在一條有向邊中的起始節點和結束節點狀態. 跑二分圖最大匹配, 總節點數減去最大匹配數即可得到答案.
證明非常簡單: 我們假設每個點都獨立, 而我們找最大匹配的過程相當於把一些點通過路徑連在一起. 由於二分圖匹配的性質, 保證了一個點只會在一條路徑中出現, 因此得證.

Aug 24, Thu

股神小L: 單調隊列優化DP, 反正場上是沒想到.
股神小D: 樹鏈計數經典題. 用LCT維護聯通塊大小. LCT的這種用途非常不熟練.
task: 最大權閉合子圖. 首先復習一下最大權閉合子圖.
最大權閉合子圖描述的是一個有向圖, 每個點有一個點權, 權值可以為負. 你要在圖中找到一個點集\(S\)使得\(S\)的權值之和最大, 並且\(S\)中沒有連向非\(S\)中節點的邊.
考慮怎麽求. 方法很簡單, 可以感性地理解為: 考慮取某一個點, 則我們必須同時取上它可以到達的點集. 假如帶來的收益為正數我們才會取. 考慮如何計算收益, 就是正權之和減去負權之和, 因此我們從源點向所有正權點連一條權值為該點點權的邊, 從所有負權點向匯點連一條權值為該點點權絕對值的邊. 在這個圖上求最小割, 那麽不難發現假如我們割掉一條連向匯點的邊, 則說明取這條路徑的收益大於付出; 假如取一條從源點連出的邊, 則說明付出大於收益.
因此我們只需要用所有正權點權之和減去最大流量即可得到答案.

Aug 23, Wed

網絡戰爭: 大雜燴題, 先是KD-tree, 然後是最小割樹, 最後還可能要用LCT. 代碼比較惡心, 遂棄坑.

Aug 22, Tue

BZOJ 3473 字符串: 廣義後綴自動機 + 啟發式合並. 註意在線建後綴自動機的寫法. 感覺對於廣義後綴自動機還不熟練.

Aug 21, Mon

瘋狂求導: 線段樹套線段樹. 註意由於標記不可合並, 不能用標記下傳.

Aug 20, Sun

頹廢一天

Aug 19, Sat

學習筆記: 帶標號的各種圖計數

Aug 18, Fri

樹鏈問題: 智障樹剖, 我傻了寫了個毛毛蟲

Aug 17

Azelso: 概率與期望好題

Aug 16

寫了概率論學習筆記

Aug 15

狂飆突進幻想鄉: SPFA + 凸包.

Aug 14

crash數列: 花一點時間仔細深挖, 亂搞即可.
直徑: 運用了關於樹的直徑的定理: 兩棵樹通過一條邊連起來後的直徑必定在原來兩棵樹的直徑的四個端點中產生. 然後用虛樹即可解決. 虛樹不熟練, 求樹的直徑也不熟練.

Aug 13

HNOI 2017 樹點塗色: link-cut tree的巧妙應用

Aug 12

ISN把代碼補上了. 註意需要對數組排序時最好從\(0\)位開始存.
BZOJ 4543 thr: 按深度樹鏈剖分的神題, 具體原理還不是很理解. 總之對於要在樹上合並深度相關的信息時, 就考慮采用按深度樹鏈剖分的方法.

Aug 11

矩陣: 更改了建邊方式; 還是沒能AC, 甚至都還不能過樣例.
冒泡排序: 在找規律時要註意到一些性質.
踩氣球: 可持久化線段樹的巧妙應用. 對於一些有開始時間和結束時間的問題, 考慮通過可持久化來維護開始時間, 線段樹上的點來維護結束時間.
自動機: 提供了一種很好的構造方法.

Aug 10

第二次寫recollection: 樹上後綴數組 + set啟發式合並.
矩陣matrix: 最小割解決一些不等式組中所有未知數和的最大值/最小值問題. 一直WA.

Aug 9, 2017

線性基題目:
BZOJ 4568 幸運數字: 倍增 + 線性基. 傻題.
BZOJ 4004 裝備購買: 多維空間中的線性基. 插入時的操作與異或空間中的稍有不同, 需要省掉一些步驟.

Aug 8, 2017

線性基學習筆記, 以及最大異或和與第\(k\)小異或和兩道模板題.
\(k\)小異或和: 註意題目要求取出的是非空子集, 因此得到\(0\)需要作特殊判斷: 假如存在一個插入的數, 使得線性基將其異或至\(0\), 則說明存在非空子集的異或和為\(0\), 否則不存在.

記錄 [補檔]