有\(n(n\le 10^5)\)支球隊,每兩個球隊有\(k(k\le 5)\)個屬性。
當乙個球隊的某一項屬性大於另乙個球隊,則這個球隊有可能會戰勝另外的球隊。
每次會在剩餘未被淘汰的球隊裡隨機選出兩個球隊進行比賽。
問有可能獲得冠軍的球隊有多少個?
當兩個球隊互相可戰勝的時候,發現如果另乙個球隊能戰勝其中乙個隊伍,那麼這個球隊能戰勝這兩個隊伍。
我們給互相可戰勝的球隊連一條邊。
最終發現整張圖變成若干個聯通塊,每個聯通快有明確的強弱關係。
這樣子最終答案就是最強的聯通塊的大小。
考慮加點。
每次增加乙個點,我們就把這個點向與他戰勝關係不確定的聯通塊連邊,這樣子我們就可以把幾個聯通塊縮成乙個塊。
暴力統計?
\(o(n^2k)\),不可接受。
平衡樹。
可以把所有的塊丟進set裡面。
反向定義小於號,只要大於就返回true,只有明確小於才返回false。
這樣子我們只要正反比較兩次如果都為true就說明兩個塊的關係是不清楚的。
每次加點,我們用upper_bound查詢出第乙個不是明確大於當前塊的聯通塊,如果這個聯通塊也大於當前塊,那麼這兩個塊的強弱關係不清楚,我們可以合併。
一直合併到下乙個塊是明確小於當前塊的為止。
然後插入當前塊。
這樣子我們就能\(o(knlogn)\)處理問題了。
#include #include #include #include #include #include #define file "s"
#define ll long long
using namespace std;
const int n=2009,inf=(1<<31)-1;
const int maxn=n*(n-1)/2;
int read()
int k;
struct ub
};bool operator <(const ub a,const ub b)
set s;
int main()
return 0;
}
搞笑世界盃
有n張a類票 n張b類票,在兩張票都有的情況下,工作人員會以1 2的概率發票,否則就直接發僅存的那類票。現在請問最後兩張發出去的票是相同種類的概率是多少?n 2000 概率型dp 定義 dp i j 為還剩i張a類票,j張b類票,最後兩張相同的概率。易得出dp i 0 dp 0 i 1.0 i 2 ...
重溫世界盃
description 世界盃結束了,義大利人連本帶利的收回了法國人6年前欠他們的債,捧起了大力神盃,成就了4星義大利.世界盃雖然結束了,但是這界世界盃給我們還是留下許多值得回憶的東西.比如我們聽到了黃名嘴的3分鐘激情解說,我們懂得了原來可以向同乙個人出示3張黃牌,我們還看到了齊達內的頭不僅能頂球還...
世界盃紀錄之最
世界盃決賽階段進球最多的比賽 第5屆世界盃奧地利隊7 5擊敗瑞士隊,雙方共打進12個球。世界盃預賽階段乙個隊一場比賽進球最多的紀錄 1997年6月2日,在98年世界盃足球賽亞洲區預賽伊朗隊對馬爾地夫隊的比賽中,伊朗隊以17 0獲勝。世界盃預賽階段一場比賽進球最多的球員 7球,由伊朗隊的卡里姆 巴蓋里...