• [HDOJ1800]Flying to the Mars


    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1800

    看图明白的题意……贪心的思路。先排序,让一个等级高的尽可能多地带小弟,然后记下有多少组即可。

     1 #include <algorithm>
     2 #include <iostream>
     3 #include <iomanip>
     4 #include <cstring>
     5 #include <climits>
     6 #include <complex>
     7 #include <fstream>
     8 #include <cassert>
     9 #include <cstdio>
    10 #include <bitset>
    11 #include <vector>
    12 #include <deque>
    13 #include <queue>
    14 #include <stack>
    15 #include <ctime>
    16 #include <set>
    17 #include <map>
    18 #include <cmath>
    19 
    20 using namespace std;
    21 
    22 const int maxn = 3010;
    23 int n, x, c;
    24 int s[maxn];
    25 
    26 int main() {
    27     // freopen("in", "r", stdin);
    28     while(~scanf("%d", &n)) {
    29         c = 1;
    30         x = 1;
    31         for(int i = 0; i < n; i++) {
    32             scanf("%d", &s[i]);
    33         }
    34         sort(s, s+n);
    35         for(int i = 1; i < n; i++) {
    36             s[i]==s[i-1]?x=max(x,++c):c=1;
    37         }
    38         printf("%d
    ", x);
    39     }
    40 }

    转而一想,就是算这一堆数据里出现次数最多的那个数据。因为有前置0的问题,可以作为字符串处理,用hash或者trie来做。

  • 相关阅读:
    bodybuilding
    DBLINK的session无法关闭,报异常!
    失控
    eclipse
    Linux下查看用户列表
    org.apache.commons.httpclient
    java map 遍历
    java String split
    胸上肌到底要怎么练啊!
    POI操作Excel常用方法总结
  • 原文地址:https://www.cnblogs.com/kirai/p/4912143.html
Copyright © 2020-2023  润新知