目錄二分圖 l 字匹配,考慮把每個 * 拆成兩個點,乙個跟左/右的 . 連邊,乙個跟上/下的 . 連邊,然後把每個 + 拆成兩個點,兩個都跟上下左右的 . 連邊。
然後跑帶花樹之後構造方案即可
code
考慮二分答案,然後發現最小值一定會被選,因此把最小值 shift 到開頭用線段樹維護 dp 即可。
貌似能 o(nlogn),好像是考慮相鄰兩個數一定有乙個不超過二分值的一半
code
考慮把 a 序列搞成 \(-n\)~\(-1\) ,然後 b 序列在 sort 後可以是一段 0 的字首,乙個或者零個 \(1\)~ \(n-1\) 的數,然後一段 n 的字尾。
code
首先可以建出二分圖最大費用流模型,由於費用流跟源點匯點相連的邊不會退流,因此可以按照權值從大到小貪心,如果能加就加。
考慮用 hall 定理判定能不能加入。
如果列舉的集合形成若干連續段,那麼只需要每個連續段分別滿足條件即可,因此列舉的集合的區間並一定是乙個區間。
又因為 \(l_i\le l_,r_i\le r_\) ,所以只用考慮選擇的區間標號也是連續的情況。
我們設 \(b_i\) 表示 \(i\) 是否被選。
那麼必須要滿足 \(\min\limits_\^a_i-\sum\limits_^rb_i\}\ge0\)
把 \(a\) 記字首和差分,發現是 \(\min\limits_\-a_-\sum\limits_^rb_i\}\ge0\)
然後可以線段樹維護了。
code
直接高消顯然沒法過,考慮設 \(f_i\) 表示步數 \(>i\) 的概率,\(g_\) 表示走 \(i\) 步到 \(j\) 的概率,顯然可以矩乘轉移 \(g\) ,由於 \(f_i=\sum\limits_^g_\) ,因此可以用 bm 求出 \(f\) 的特徵多項式 \(c\) ,我們設 \(f\) 的生成函式是 \(f\) ,那麼 \(f=f*c+f_0\) 。
考慮答案就是 \(f(1)=\frac\) ,直接算即可。
code
發現一棵樹可以直接消完,如果有環一定消不完,所以就是統計把這個消成乙個森林需要砍掉的最小邊數。
code
考慮模仿 \(tutte\) 定理裡面的乙個過程,我們設所有度數為 \(|v|-1\) 的點的集合為 \(s\) ,那麼剩下的一定是 \(|s|+2k,k>0\) 個奇團,由於加一條邊就要完美匹配,因此 \(k=1\) ,然後就是拆分數裸題。
code
考慮第 \(i\) 個左側點往前 \(a_i\) 個右側點連邊,且 \(a_i\ge a_\)
這樣不好的集合個數就是 \(2^n-1-\sum\limits_^n\sum\limits_^c_^j\) ,然後構造即可。
code
分析一下題目中的條件發現每個連通塊大小 \(<7\) ,那麼可以求出每種連通塊的染色方案和每種連通塊的個數然後暴力 merge
code
首先把條件轉化把序列分為 k 段使得每段平方和最小,這個容易證明其正確性。
然後可以凸優化+斜率優化,但可能會跳過正確的 k
考慮這個式子是滿足決策單調性的,也就是對於乙個點其決策點是乙個連續段,可以推出合法的段數也是連續段,因此我們在斜率 dp 的時候同時求出段數的最值
然後就能輸出方案了
code
對於任意乙個串都可以經過若干次操作得到乙個唯一的長度最短的串。
我們把縮串後相同的串看成乙個等價類。
手玩出所有等價類和等價類之間的轉移之後跑矩陣快速冪即可。
code
物件導向簡要 1
1.說明 01 物件導向的方法可以幫助人們從巨集觀上把握 從整體上分析整個系統,但是具體到微觀操作 就是乙個個方法 部分的實現,仍需要用面向過程的思路去處理。2.類和物件的關係 01 類可以看成是一類物件的模板,物件可以看成是該類的乙個具體的例項。3 構造器 01 構造器也可以叫構造方法,用於初始化...
哲理小品 「1」為什麼大於「300」
哲理小品 1 為什麼大於 300 黃 如果給甲1個機會,給乙300個機會,那麼,誰更有可能把握機會呢?如果要你回答,你會選誰呢?我想,你一定會選乙,因為乙擁有比甲多得多的機會,當然乙也就更有可能把握機會了。在判斷你的答案是否正確之前,我們先來讀讀以下兩個故事吧。從前,乙個年輕人愛上了乙個財主家的女兒...
深度學習系列(1) 簡要概念
deep learning 的概念源於人工神經網路的研究。含多隱層的多層感知器就是一種深度學習結構。深度學習通過組合低層特徵形成更加抽象的高層表示屬性類別或特徵,以發現資料的分布式特徵表示。1 深度學習的概念由hinton等人於2006年提出。基於深信度網 dbn 提出非監督貪心逐層訓練演算法,為解...