WC2005 友好的生物

2022-08-05 01:24:21 字數 1029 閱讀 2025

這題算是毒瘤吧,看到這個題我除了o(n^2)想不到別的方法

後來嘗試使用平方的方式亂搞,但是給出了反例

在看了國家集訓隊ysy的解題報告後方才明白

思路是一種放寬的思路

我們列舉每個差值的符號,在其中列舉最大值,就可以有效去除絕對值

最後按照第k位從小到大排序,來列舉

從小到大進行掃瞄,每次用當前的值減去他字首的最小值即可

但是在我看了部分題解後,我發現大家沒有寫什麼要排序

而我就正好卡在這了,我太弱了

按照第k位從小到大排序,是為了後面的數第k種屬性大於前面的

這樣減出來第k個屬性的差值一定是負值,滿足條件

實現如下:

#include #include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

typedef

long

long

ll;inline ll read()

const

int n=100100

;int n,k,c[10

],minn,num,ans,minid,t1,t2;

struct

node

}po[n];

intmain()

}printf(

"%d %d\n%d

",t1,t2,ans);

return0;

}/**/

luogu4131 WC2005 友好的生物

wc2005 友好的生物 還有2006陳啟峰的 一張一弛,解題之道 part 2 先由簡,不考慮a k 那麼這樣直接求怎麼求呢?直接列舉o n2k 當然可以,只不過會超時 有沒有一種方法可以避免一些不必要的列舉呢?這道題最大的阻礙就是這個絕對值問題了,因為它只跟兩個生物的具體屬性的相對大小有關,所以...

友好的生物

問題描述 w 星球是乙個和地球一樣氣候適宜 物種聚集的星球。經過多年的研究,外星生物學 家們已經發現了數萬種生物,而且這個數字還在不斷增大。w 星球上的生物很有趣,有些生物之間很友好,朝夕相伴,形影不離 但有些卻很敵 對,一見面就難免發生戰鬥。為了能夠更好地了解它們之間的友好程度,外星生物學家希望 ...

WC2005 雙面棋盤 並查集 分治

題目描述 題解 唉,還是碼力不行,寫了乙個多小時發現想錯了又重構了乙個多小時。這道題意圖很顯然,動態維護聯通塊,有乙個經典做法就是用lct維護按照刪除時間維護的最大生成樹。網上還有一種神奇的做法,線段樹套並查集,蒟蒻表示不懂。這道題可以利用並查集操作可以撤銷這種性質來做。線段樹分治 線段樹分治可以分...