離散化 電影

2022-05-04 02:03:10 字數 579 閱讀 8746

\(n\)個科學家每個科學家只懂得一門語言,所有語言用\(1\sim 10^\)的數字進行標號,

\(m\)部電影,每部電影的語音和字幕採用不同的兩種語言,

所有科學家看同一部電影,如果乙個科學家能聽懂語音很開心,看懂字幕比較開心,都不懂不開心

選擇一部電影,很開心的人數最多,很開心的人數相同時比較開心的盡量多

\(\begin1 \leq n, m \leq 200000 \\ 1 \leq a_, b_, c_ \leq 10^\end\)

將所有語言都存入到乙個vector中,排序後去重,用下標來代表對應語言,即將語言編號離散化為下標,

語言序列有序,每次二分查詢即可,rec記錄懂每種語言的專家的人數

\(o ( (n + m) · log (n+m))\)

#includeusing namespace std;

#define rep(i,a,n) for(int i=a;ialls;

int get(int x)

int main()

}printf("%d\n", ans + 1);

}

AcWing 103 電影(離散化)

problem 莫斯科正在舉辦乙個大型國際會議,有n個來自不同國家的科學家參會。每個科學家都只懂得一種語言。為了方便起見,我們把世界上的所有語言用1到109之間的整數編號。在會議結束後,所有的科學家決定一起去看場電影放鬆一下。他們去的電影院裡一共有m部電影正在上映,每部電影的語音和字幕都採用不同的語...

AcWing 103 電影 離散化

題目鏈結 沒什麼好說的,就照著題意做就行了,不過要最後輸出的編號是電影在c或者d陣列裡的下標而不是值。之前用unordered map跑了1500ms,這個跑了350ms,常數真是個可怕的東西 const int maxn 2e5 10 int a maxn b maxn c maxn d maxn...

科學家看電影(離散化)

離散化的方法大致有兩種 利用c 中的stl 直接利用陣列來儲存離散化後的資料 本題我們採用第二種。先分析一下題目大意 n位科學家去看電影,電影院上映了m部電影,每個科學家只會一種語言,先輸入科學家的人數n 可能有多個科學家懂同一種語言 在輸入科學家懂的語言,輸入電影院上映的電影數量m,接下來的一行輸...