原创 [樹狀數組]51 Nod 1711——平均數

題目描述 LYK有一個長度爲n的序列a。 你只要告訴他所有區間(n*(n+1)/2個區間)中第k大的平均數就行了。 解題思路 顯然要二分,考慮如何驗證。 sum[R]−sum[L−1]>=x∗(R−L+1)——>sum[R]−x∗

原创 [邊雙]hihocoder 1184——邊的雙連通分量

題目梗概 裸的邊雙。 解題思路 沒有橋的極大圖就是邊雙。 考慮怎麼求橋。 Tanjan的時候回不去的就是橋,即low[son[j]]>dfn[x] #include<cstdio> #include<cstring> #inclu

原创 [DP] 51 Nod 1274——最長遞增路徑

題目描述 一個無向圖,可能有自環,有重邊,每條邊有一個邊權。你可以從任何點出發,任何點結束,可以經過同一個點任意次。但是不能經過同一條邊2次,並且你走過的路必須滿足所有邊的權值嚴格單調遞增,求最長能經過多少條邊。 以此圖爲例

原创 [最小割]BZOJ 1497——[NOI2006]最大獲利

題目梗概 有m個通訊,你可以獲得一定的利潤。 但是通訊必須開通ai,bi 兩個中轉站,開通中轉站需要額外的費用。 問你能獲得最大的利潤是多少。 解題思路 你要換個角度思考這個問題,把邊看成一個點。 如果要獲得這個點的值就必須開通另

原创 [亂搞]51 Nod 1421——最大MOD值

題目描述 有一個a數組,裏面有n個整數。現在要從中找到兩個數字(可以是同一個) ai,aj ,使得 ai mod aj 最大並且 ai ≥ aj。 解題思路 對於每個數字,有n/ai 個區間,每個區間是[1+ai∗(k−1),ai

原创 [貪心+單調隊列+ST算法]51 nod 1288 ——汽油補給

題目梗概 有(N+1)個城市,0是起點N是終點,開車從0 -> 1 - > 2…… -> N,車每走1個單位距離消耗1個單位的汽油,油箱的容量是T。給出每個城市到下一個城市的距離D,以及當地的油價P,求走完整個旅途最少的花費。如果

原创 [分塊]51 Nod——1225 餘數之和

題目梗概 例如F(6) = 6 % 1 + 6 % 2 + 6 % 3 + 6 % 4 + 6 % 5 + 6 % 6 = 0 + 0 + 0 + 2 + 1 + 0 = 3。 給出n,計算F(n), 由於結果很大,輸出Mod 1

原创 [思維題]51 Nod 1671——貨物運輸

題目描述 公元2222年,l國發生了一場戰爭。 小Y負責領導工人運輸物資。 其中有m種物資的運輸方案,每種運輸方案形如li,ri。表示存在一種貨物從li運到ri。 這裏有n個城市,第i個城市與第i+1個城市相連(這裏1號城市

原创 [Lucas 原理+逆元]BZOJ 4403——序列統計

題目描述 給定三個正整數N、L和R,統計長度在1到N之間,元素大小都在L到R之間的單調不降序列的數量。 輸出答案對10^6+3取模的結果。 解題思路 顯然L,R的大小對答案沒有影響,但是相對大小有影響,設m=R−L+1 用隔板法可

原创 51 Nod 1616——最小集合

題目梗概 現在有一個集合,對於任意的x,y,gcd(x,y)也在這個集合中。 給出原集合中一部分的數,求原集合的最小大小。 解題思路 因爲ai的範圍感人,所以肯定能枚舉原集合中元素然後判斷是否存在。 考慮如何判斷。 顯然只要關於x

原创 [樹狀數組]BZOJ 2028——[SHOI2009]會場預約

題目梗概 有兩種操作: 一種是插入一段區間,並刪除與這段區間相交的區間,返回刪除區間的個數。 另一種是返回目前的區間數。 解題思路 有一個非常重要的特性是在任何時候區間的末端隨區間的始端遞增而遞增。 於是考慮樹狀數組維護始端個數的

原创 [堆]51 Nod 1461——穩定桌

題目描述 有一張桌子,有n個腿。第i根腿的長度是li。 現在要拿掉一些腿,使得桌子穩定,拿掉第i根腿需要di的能量。 穩定的條件是,假如拿掉若干條腿之後,桌子還有k個腿,那麼長度最長的腿的數目要超過一半。比如桌子有5根腿,那麼至少

原创 [數學雜題]51 Nod 1765——谷歌的恐龍

題目梗概 給出一個數n,每次隨機[0,n) 之間的一個數,如果隨機到給出的m 個數之一就停止。 求隨機出來的數字的期望。 解題思路 真TM智障,我想了很久…… 能夠繼續下一次操作的概率爲p=(n−m)/m 顯然答案就是1∗1n∗S

原创 [二分+最大流]51 Nod——1757 大災變

題目描述 死亡之翼降臨了!艾澤拉斯大陸的子民們必須逃出他的魔爪! 艾澤拉斯的結構是一棵樹,這棵樹上的一些節點是地精建造的通往地下避難所的洞口。 除了這些洞口之外,樹上的每個節點上都有一個種族,每個種族通過樹上的一條邊都需要一個

原创 [DP]51 Nod——[1048 整數分解爲2的冪 V2]

題目描述 給定正整數N,求N分解成若干個2的次冪的方案數。 N<=1030 解題思路 之前寫過O(n) ,看到這個數據範圍瞬間就恐懼了。 將N表示成一個二進制數,對於每個ai=1 ,都有一段區間的和剛好等於2ai 我們考慮如何構造