zoukankan      html  css  js  c++  java
  • TTTTTTTTTTTTTTTTTT hdu 1800 字符串哈希 裸题

    题意:意思是有若干个飞行员,需要在扫帚上练习飞行,每个飞行员具有不同的等级,且等级高的飞行员可以当等级低的飞行员的老师,且每个飞行员至多有且只有一个老师和学生。具有老师和学生关系的飞行员可以在同一把扫帚上练习,并且这个性质具有传递性。即比如有A,B,C,D,E五个飞行员,且等级是A>B>C>D>E,那么可以使A当B的老师,B当C的老师,E当D的老师,那么A,B,C可以在同一扫帚上练习,D,E在同一把扫帚上练习,这样需要2把扫帚,而如果是A当B的老师,B当C的老师,C当D的老师,D当E的老师,那么只需要一把扫帚。题目所求即所需最少的扫帚数目。

    
    
    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <cstdlib>
    #include <cmath>
    #include <vector>
    #include <queue>
    #include <stack>
    #include <map>
    #include <algorithm>
    #include <set>
    using namespace std;
    typedef long long ll;
    typedef unsigned long long Ull;
    #define MM(a,b) memset(a,b,sizeof(a));
    const double eps = 1e-10;
    const int  inf =0x7f7f7f7f;
    const double pi=acos(-1);
    const int maxn=100+1000;
    char s[150];
    int Hash[4000];
    int BKDRHash(char* s)
    {
         long long seed=131;
         long long hashv=0;
         while(*s=='0')s++;
         while(*s)
         {
             hashv=hashv*seed+(*s++);
         }
         return (hashv & 0x7FFFFFFF);
    }
    
    int main()
    {
        int n;
        while(~scanf("%d",&n))
        {
            for(int i=1;i<=n;i++)
                 {
                     scanf("%s",s);
                     Hash[i]=BKDRHash(s);
                 }
            sort(Hash+1,Hash+n+1);
            int ans=1,tmp=1;
            for(int i=2;i<=n;i++)
            {
                if(Hash[i]==Hash[i-1]) tmp++;
                else tmp=1;
                ans=max(ans,tmp);
            }
            printf("%d
    ",ans);
        }
        return 0;
    }
    
    

      分析:只要求出重复出现次数最多的数字出现的次数就好了

  • 相关阅读:
    HashMap和HashSet的区别
    安卓坐标
    android MotionEvent中getX()和getRawX()的区别
    android 布局之滑动探究 scrollTo 和 scrollBy 方法使用说明
    register_chrdev_region/alloc_chrdev_region和cdev注册字符设备驱动
    将JZ2440的调试串口换成com2
    pcl点云文件格式
    C++中的迭代器
    C++中的vector
    “标准差”
  • 原文地址:https://www.cnblogs.com/smilesundream/p/5494032.html
Copyright © 2011-2022 走看看