博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TTTTTTTTTTTTTTTTTT hdu 1800 字符串哈希 裸题
阅读量:5038 次
发布时间:2019-06-12

本文共 1226 字,大约阅读时间需要 4 分钟。

意思是有若干个飞行员,需要在扫帚上练习飞行,每个飞行员具有不同的等级,且等级高的飞行员可以当等级低的飞行员的老师,且每个飞行员至多有且只有一个老师和学生。具有老师和学生关系的飞行员可以在同一把扫帚上练习,并且这个性质具有传递性。即比如有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 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
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\n",ans); } return 0;}
 

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

转载于:https://www.cnblogs.com/smilesundream/p/5494032.html

你可能感兴趣的文章
美国专利
查看>>
【JavaScript】Write和Writeln的区别
查看>>
百度编辑器图片在线流量返回url改动
查看>>
我对你的期望有点过了
查看>>
微信小程序wx:key以及wx:key=" *this"详解:
查看>>
下拉框比较符
查看>>
2.2.5 因子的使用
查看>>
css选择器
查看>>
photoplus
查看>>
Python 拓展之推导式
查看>>
[Leetcode] DP-- 474. Ones and Zeroes
查看>>
80X86寄存器详解<转载>
查看>>
c# aop讲解
查看>>
iterable与iterator
查看>>
返回顶部(动画)
查看>>
webpack+react+antd 单页面应用实例
查看>>
Confluence 6 SQL Server 数据库驱动修改
查看>>
Confluence 6 通过 SSL 或 HTTPS 运行 - 备注和问题解决
查看>>
【47.76%】【Round #380B】Spotlights
查看>>
Git(使用码云)
查看>>