BZOJ 2456 mode(替換抵消思想)

2021-08-22 04:39:10 字數 474 閱讀 4257

time limit: 1 sec  memory limit: 1 mb

submit: 7146  solved: 2809

[submit][status][discuss]

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

第1行乙個正整數n。

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

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

53 2 3 1 3

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

zju2132 the most frequent number

鳴謝 黃禕程

借鑑:

#include int main()           //某個數一定存在》 n div 2的情況

printf("%d",x);

return 0;

}

BZOJ2456 mode,卡記憶體

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

BZOJ 2456 mode(巧取眾數)

time limit 1 sec memory limit 1 mb submit 5043 solved 2110 submit status discuss 給你乙個n個數的數列,其中某個數出現了超過n div 2次即眾數,請你找出那個數。第1行乙個正整數n。第2行n個正整數用空格隔開。一行乙個...

水 卡記憶體 bzoj 2456 mode

time limit 1 sec memory limit 1 mb submit 2157 solved 910description 給你乙個n個數的數列,其中某個數出現了超過n div 2次即眾數,請你找出那個數。input 第1行乙個正整數n。第2行n個正整數用空格隔開。output 一行乙...