BZOJ2456 雜題 mode 題解

2021-08-09 05:31:24 字數 506 閱讀 8405

description

給你乙個n個數的數列,其中某個數出現了超過n div 2次即眾數,請你找出那個數。

input

第1行乙個正整數n。

第2行n個正整數用空格隔開。

output

一行乙個正整數表示那個眾數。
sample input

3 2 3 1 3

sample output

hint

100%的資料,n<=500000,數列中每個數<=maxlongint。

卡記憶體,解法很簡單,就是將不同的數抵消,證明也很簡單,因為保證有乙個數大於一般,所以最壞情況就是和其他所有數抵消然後還是會剩乙個。還有就是不要開namespace。

#include 

int n,a,b,c;

int main()

printf("%d",b);

return

0;}

bzoj 2456 mode 思維題 好題

題目描述 給你乙個 n 個數的數列,其中某個數出現了超過 n div 2 次即眾數,請你找出那個數。空間大小 1mb 題解 顯然,我們是不能開任何陣列的,此題專卡空間。然而我們要求的東西也十分簡單,就是出現次數最多的數。出現次數最多,即代表著序列中沒有數比答案數更多。想象一下如果眾數和其他的數字一一...

bzoj 2456 mode 思維題 好題

題目描述 給你乙個 n 個數的數列,其中某個數出現了超過 n div 2 次即眾數,請你找出那個數。空間大小 1mb 題解 顯然,我們是不能開任何陣列的,此題專卡空間。然而我們要求的東西也十分簡單,就是出現次數最多的數。出現次數最多,即代表著序列中沒有數比答案數更多。想象一下如果眾數和其他的數字一一...

BZOJ2456 mode,卡記憶體

傳送門 寫在前面 曾經在codevs某次月賽中出現過,被godder秒了 思路 1mb的記憶體,n 500000注定這個題不能開陣列 甚至不能開萬能庫 但是可以用乙個比較特別的思路,就是把第一次讀入的數記為眾數,並記錄tot,即出現次數,如果讀入的數和它不同就tot 相同就tot 當tot 0時就對...