原创 [網絡流二十四題]深海機器人問題 Solution

給一張網格圖,圖上有一些機器人,它們要到指定的地方,它們都只能往東和北移動,每條邊都有價值,但是隻能計算一次,問可以達到的最大價值。 因爲只能計算一次,所以可以這樣建邊: 每個點往這個點北方的那個點連兩條邊,一條流量爲111,費

原创 BZOJ1001 狼抓兔子 題解

裸的最小割,轉化成最大流即可。 #include <bits/stdc++.h> int n,m; int S,T; int mincost; int head[6001000],tot=1; int cur[6001000];

原创 [NOI2017]遊戲 題解

考慮把有111種車不適合跑這樣的條件轉化一下 111種不適合跑⟶\longrightarrow⟶222種適合跑,並且只能選一種車去跑 可以看到這就是一個2−SAT2-SAT2−SAT模板了。 考慮一下限制。 對於每場比賽拆成222

原创 [JSOI2011]分特產 Solution

考慮至少有xxx個人沒分到特產的方案:那就是把a[i]a[i]a[i]個特產分給n−xn-xn−x個人,方案數就是Cn−x+a[i]−1n−x−1C^{n-x-1}_{n-x+a[i]-1}Cn−x+a[i]−1n−x−1​。選定

原创 [網絡流二十四題]最長不下降子序列 Solution

求最長不下降子序列,每個數只能取一次時最多能拼出多少最長不下降子序列,第111個數和第nnn個數能用無限次其它的只能用一次時最多能拼出多少最長不下降子序列。 第一問就略過吧。 因爲每個數只能用一次,所以可以把點拆開,設原點爲iii

原创 [WC2007]剪刀石頭布 Solution

給一張競賽圖,圖中還有一些邊沒有定向,現在要把它們重新定向,要求重定向之後三元環儘量多。 直接考慮不可取,逆向思維。算出極限情況可能出現三元環的個數,那麼就是n×(n−1)×(n−2)6\dfrac{n\times(n-1)\ti

原创 [國家集訓隊]矩陣乘法 Solution

題意:給一個矩陣,每次詢問一個子矩陣裏面的第kkk小的數。 如果它只有一個詢問,直接排個序就行,考慮如何用樹狀數組來操作。也就是樹狀數組如何查詢排名。 具體實現就是:每次二分一個值checkcheckcheck,然後把小於該值的點

原创 [JSOI2009]球隊收益 Solution

題意:有nnn個球隊,如果一支球隊勝場爲xix_ixi​,負場爲yiy_iyi​,那麼他們的獎金即爲Ci×xi2+Di×yi2C_i\times x_i^2+D_i\times y_i^2Ci​×xi2​+Di​×yi2​。現在知