Hướng dẫn giải của HSG THPT Thanh Hóa 2020 - Điểm ảnh


Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người viết lời giải.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.

Sử dụng mảng đếm ~cnt_i~ là số lần giá trị ~i~ xuất hiện trong dãy. Duyệt qua các phần tử ~a_i~ và cập nhật ~cnt_{a_i}~. Đáp án là ~max(cnt_i)~.

Độ phức tạp: ~O(max(a_i))~.


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    vminhlaptrinh  đã bình luận lúc 14, Tháng 10, 2024, 6:52 chỉnh sửa

    include <bits/stdc++.h>

    using namespace std; int mp[20000006]; int n; int main() { freopen("CAU2.INP","r",stdin); freopen("CAU2.OUT","w",stdout); iosbase::syncwith_stdio(0); cin.tie(0); cout.tie(0); cin>>n; for(int i=1;i<=n;i++){ int x; cin>>x; mp[x]++; } int amax=-1; for(auto x:mp){ amax=max(amax,x); } cout<<amax; return 0; }


  • 0
    nhat7a  đã bình luận lúc 6, Tháng 5, 2024, 15:51

    include<bits/stdc++.h>

    using namespace std; int i,n,dmax,x; int d[1000001]; ifstream fi; ofstream fo; int main(){ fi.open("CAU2.INP"); fi>>n; for (i=1;i<=n;i++){ fi>>x; d[x]++;} fi.close(); fo.open("CAU2.OUT"); dmax=d[1]; for (i=2;i<=1000000;i++) if (d[i]>dmax)dmax=d[i]; fo<<dmax; fo.close(); return 0;

    }