题目描述

已知从 $n$ 个不同的32位无符号整数中随机选 $m=10000$ 次所得的结果,求可能性最大的 $n$ ,其中 $n=10^k,1\le k\le 7$。

输入

第一行包含一个正整数m(m=10000),表示随机访问硬盘的次数。

接下来m行,每行一个整数a_i(0<=a_i<2^{32}),即每次随机访问读取的结果。

输出

输出一行一个整数,即n的大小。


题解

乱搞

由于 $n$ 的跨度很大,因此可以在本机随机生成多组情况,根据情况的分布推断出 $n$ 的大小。

标算采取的时平均每个数的出现次数,我采取的是出现次数最多的数的出现次数以及这样的数的个数。这两种方法均可通过本题。

时间复杂度 $O(m\log m)$

  1. #include <cstdio>
  2. #include <algorithm>
  3. using namespace std;
  4. unsigned a[10010];
  5. int main()
  6. {
  7. int n , i , now = 1 , mx = -1 , mc;
  8. scanf("%d" , &n);
  9. for(i = 1 ; i <= n ; i ++ ) scanf("%u" , &a[i]);
  10. sort(a + 1 , a + n + 1);
  11. for(i = 2 ; i <= n ; i ++ )
  12. {
  13. if(a[i] == a[i - 1]) now ++ ;
  14. else
  15. {
  16. if(mx < now) mx = now , mc = 1;
  17. else if(mx == now) mc ++ ;
  18. now = 1;
  19. }
  20. }
  21. if(mx < now) mx = now;
  22. else if(mx == now) mc ++ ;
  23. if(mx >= 1000) puts("10");
  24. else if(mx >= 100) puts("100");
  25. else if(mx >= 15) puts("1000");
  26. else if(mx > 5 || (mx == 5 && mc >= 5)) puts("10000");
  27. else if(mx > 3 || (mx == 3 && mc > 1)) puts("100000");
  28. else if(mx == 3 || (mx == 2 && mc >= 30)) puts("1000000");
  29. else puts("10000000");
  30. return 0;
  31. }

【bzoj5094】硬盘检测 乱搞的更多相关文章

  1. 【BZOJ5094】硬盘检测 概率

    [BZOJ5094]硬盘检测 Description 很久很久以前,小Q买了一个大小为n单元的硬盘,并往里随机写入了n个32位无符号整数.因为时间过去太久,硬盘上的容量字眼早已模糊不清,小Q也早已忘记 ...

  2. URAL 1827 Indigenous Wars(排序、乱搞)

    题意:给一个长度为n数组{a[i]}.有m个操作Ti,Si,Li表示找以Ti值结束,以Si值开始,长度为Li的连续子串.找到后,将区间的答案值设为1.一开始答案值全部为0.最后输出n个答案值. 好久没 ...

  3. UVA 11853 [dfs乱搞]

    /* 大连热身E题 不要低头,不要放弃,不要气馁,不要慌张 题意: 在1000×1000的格子内有很多个炮弹中心,半径给定. 为某人能否从西部边界出发,从东部边界走出. 不能输出不能,能的话输出最北边 ...

  4. Codeforces 732e [贪心][stl乱搞]

    /* 不要低头,不要放弃,不要气馁,不要慌张 题意: 给n个插座,m个电脑.每个插座都有一个电压,每个电脑都有需求电压. 每个插座可以接若干变压器,每个变压器可以使得电压变为x/2上取整. 有无限个变 ...

  5. 【BZOJ-4692】Beautiful Spacing 二分答案 + 乱搞(DP?)

    4692: Beautiful Spacing Time Limit: 15 Sec  Memory Limit: 128 MBSubmit: 46  Solved: 21[Submit][Statu ...

  6. 【BZOJ-3578】GTY的人类基因组计划2 set + map + Hash 乱搞

    3578: GTY的人类基因组计划2 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 367  Solved: 159[Submit][Status][ ...

  7. 【BZOJ-2937】建造酿酒厂 前缀和 + 展环为链 + 乱搞

    2937: [Poi2000]建造酿酒厂 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 70  Solved: 24[Submit][Status][D ...

  8. SCOI 2013 密码 & 乱搞

    题意: Fish 是一条生活在海里的鱼.有一天他很无聊,就到处去寻宝.他找到了位于海底深处的宫殿,但是一扇带有密码锁的大门却阻止了他的前进.通过翻阅古籍,Fish 得知了这个密码的相关信息:1. 该密 ...

  9. 种树 & 乱搞

    题意: 在一个(n+1)*(m+1)的网格点上种k棵树,树必须成一条直线,相邻两棵树距离不少于D,求方案数. SOL: 这题吧...巨坑无比,本来我的思路是枚举每一个从(0,0)到(i,j)的矩形,然 ...

随机推荐

  1. JetBrains Makes its Products Free for Students(JetBrains 对学生免费了)

    只要你有大学有些 后缀是 .edu的  如:@buaa.edu.cn,用你的邮箱注册,就可以免费试用 JetBrains了 下面是详细注册步骤: Hello everyone, If you’re o ...

  2. 优步UBER司机全国各地奖励政策汇总 (3月14日-3月20日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  3. web之前端获取上传图片并展示

    1.html中经常存在图片上传的问题,但是后续的展示基本上是通过后台输出流的方式来呈现的.但是这样耗费的资源比较多.所以这里学习了一种前端直接展示图片的方式(供参考). 2.html的编写方式比较简单 ...

  4. 卸载Oracle 11g

    卸载oracle只需要执行deinstall.ba即可 运行.bat文件 按照提示步骤进行卸载 .bat文件所在目录需要手动删除,需要在程序管理器里面关掉Oracle的进程,在删除当前文件夹

  5. Selenium(Python) ddt数据驱动

    首先, 添加ddt模块: import unittestfrom time import sleep from ddt import ddt, data, unpack# 导入ddt模块from se ...

  6. centos7下搭建django

    安装环境:centos7.4 1 安装nginx yum install nginx 注:尝试过在本地和腾讯云上安装,使用同一条命令:在本地安装提示没有可用安装包,云上安装正常 启动nginx,并启用 ...

  7. UnityShader - 模拟动态光照特效

    模型贴片 + 特效Shader = 动态光照特效 效果是这样的: 做法简单粗暴,直接使用模型贴片: shader上使用了noise只是提供一种思路,也有更简单的方法代替

  8. 搭建redis集群的过程中遇到的问题

    1.GCC没有安装或版本不对 报错信息如下 CC adlist.o /bin/sh: cc: command not found make[1]: *** [adlist.o] Error 127 m ...

  9. 【WXS数据类型】Number

    Number包括整数与小数. 属性: 名称 返回 说明 [Number].constructor 值为字符串“Number” 返回该类型的结构字符串 方法: 原型:[Number].toString( ...

  10. 校招小白机考入坑之从键盘输入java的各种数据类型

    //1.从键盘输入一个整型(其他基本类型类似) Scanner sc =new Scanner(System.in); sc.hasNextInt(); int str1 = sc.nextInt() ...