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

解题报告:输入n个数,用十六进制的方式输入的,任意选择其中的两个数进行异或,求异或后的数用二进制表示后1的个数最小的是多少?(n<=100000)

这题看了解题报告,大家都说用随机算法,试过了,随机100000次就过了,50000次都不行,但还是不懂这样怎么可以,唯一的解释就是这个值域也就是结果一共只有21个,

得出正确的结果的可能性很大,但是并不能100%保证结果是对的。无语第一次碰见这种算法。

 #include<cstdio>
#include<time.h>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int maxn = <<; int num1[maxn+];
int que[];
void dabiao()
{
for(int i = ;i <= maxn;++i)
{
int t = ;
for(int j = ;j < ;++j)
if(i & ( << j)) t++;
num1[i] = t;
}
}
int main()
{
dabiao();
int T,n;
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
for(int i = ;i < n;++i)
scanf("%x",&que[i]);
int ans = 0x7fffffff,suiji = ;
srand( (unsigned)time( NULL ) ); //不加种子就过不了
while(suiji--)
{
int r1 = rand() % n;
int r2 = rand() % n;
if(r1 != r2)
ans = min(ans,num1[que[r1]^que[r2]]);
}
printf("%d\n",ans);
}
return ;
}

最新文章

  1. Html5 希尔排序演示
  2. 学习zepto.js(对象方法)[2]
  3. XcodeiOS模拟器安装相关
  4. notepad++ 配置Python 调试环境 实用版
  5. .NET Framework中重点类型的继承关系
  6. 一篇学习HTTP状态码的神文:我与依依的橙色岁月
  7. .net 连接数据库
  8. pH 值与曝气对硝化细菌硝化作用的影响
  9. JS面试题及答案总结
  10. 集群管理 secondaryNameNode和NameNode(转)
  11. iOS NSString中字符串的删除,替换
  12. 什么是工程师文化?各位工程师是为什么活的?作为一个IT或互联网公司为什么要工程师文化?
  13. VC图形绘制双缓存的代码复用性讨论
  14. nodejs nodemailer中间件
  15. SQL语句流程函数
  16. 用node编写自己的cli工具
  17. 一个简洁的PHP可逆加密函数(分享)
  18. IntelliJ IDEA(九) :酷炫插件系列
  19. Codeforces 741 D - Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths
  20. GitHub &amp;&amp; GitLab

热门文章

  1. Java并发编程(详解wait(), notify(),sleep())
  2. 浅介MVC与Backbone
  3. 《Linux内核设计与实现》第四周读书笔记——第五章
  4. Linux命令(十五) 打包或解压文件 tar
  5. Docker 将一堆镜像 导成一个文件
  6. 新版 Chrome Ajax 跨域调试
  7. idea中 mybatis的debug文件需要放在src的目录下 不能加多余的路径
  8. 获取androdmanifest里面的meta-data
  9. XStream--java对象与xml形式文件相互转换
  10. POJ 2251 Dungeon Master /UVA 532 Dungeon Master / ZOJ 1940 Dungeon Master(广度优先搜索)