题目描述

输入

输出

输出共 n 行,每行一个整数,表示第 i 张图片插入时的重要度程度。

样例

输入

10
9404036463553923040
9404038696936916704
1521386814669494545
12183328314988946679
1169534990708571684
11565766518074758880
10744750057578731793
15981146932063590331
7656317005723312435
1333447427200632544

输出:

0
1
0
0
0
1
1
0
0
1


分析

题意就是有几个数字在二进制下只有3位不同,这些数字最多64位。

因为是随机数据,所以根据容斥原理,将这个数分成4段,至少有一段完全相同。
每次新加入一个数就找出前面跟这个数的某一段完全一样的数。可以用邻接表把这样所有有一段一样的数接在一起。然后暴力匹配就好了

上代码

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
typedef unsigned long long ull;struct lwx
{int to,next;
}e[600001];int n,tot,ans;
ull a[150011],x[150011],hd[600001][5];void add1(int x,int y)
{e[++tot]=(lwx){y,hd[x][1]};hd[x][1]=tot;
}void add2(int x,int y)
{e[++tot]=(lwx){y,hd[x][2]};hd[x][2]=tot;
}void add3(int x,int y)
{e[++tot]=(lwx){y,hd[x][3]};hd[x][3]=tot;
}void add4(int x,int y)
{e[++tot]=(lwx){y,hd[x][4]};hd[x][4]=tot;
}bool check(int l,int r)
{int cnt=0;for(int i=1;i<=64;i++){if(((x[l]>>i)&1)^((x[r]>>i)&1)){cnt++;}}return cnt==3;
}int main()
{freopen("hashing.in","r",stdin);freopen("hashing.out","w",stdout);cin>>n;for(int i=1;i<=n;i++){scanf("%llud",&x[i]);a[0]=0;ans=0; int t=x[i]%(1<<16);//取16位for(int j=hd[t][1];j>0;j=e[j].next){a[++a[0]]=e[j].to;}add1(t,i);t=(x[i]>>16)%(1<<16);//取16位for(int j=hd[t][2];j>0;j=e[j].next){a[++a[0]]=e[j].to;}add2(t,i);t=(x[i]>>32)%(1<<16);//取16位for(int j=hd[t][3];j>0;j=e[j].next){a[++a[0]]=e[j].to;}add3(t,i);t=(x[i]>>48);//取16位for(int j=hd[t][4];j>0;j=e[j].next){a[++a[0]]=e[j].to;}add4(t,i);sort(a+1,a+a[0]+1);a[0]=unique(a+1,a+a[0]+1)-a-1;//去重 for(int j=1;j<=a[0];j++){if(check(i,a[j])) ans++; }cout<<ans<<endl; }return 0;
}

【GDOI2017】【gmoj5101】【7.15模拟赛T4】凡喵识图【暴力】相关推荐

  1. 【jzoj 5101】凡喵识图 / Image Recognition(鸽笼原理)(模拟)

    凡喵识图 / Image Recognition 题目链接:jzoj 5101 题目大意 给你一些 2^64 大小的数,然后每插入一个数之前,询问原本有多少个数的二进制跟它的二进制恰好有三位不同. 思 ...

  2. 【noip模拟赛4】Matrix67的派对 暴力dfs

    [noip模拟赛4]Matrix67的派对 描述 Matrix67发现身高接近的人似乎更合得来.Matrix67举办的派对共有N(1<=N<=10)个人参加,Matrix67需要把他们安排 ...

  3. 【信奥题库 NOIP 2020 在线模拟赛 T4】三元组

    题目 https://www.oitiku.com/simulate-contest/5/19 思路 其实这东西是选k次子矩阵的方案数 所以就可以化成隔板法 ∑x=1n∑y=1mC(n,x)C(m,y ...

  4. 2014.8.15模拟赛【公主的朋友】

    题意是支持两种操作:区间染色:询问区间[l,r]之间有多少个颜色是x的. wulala的题解是这样写的 30分的话直接暴力, 60分对于每种宗教维护一颗线段树 100分的话分块就可以了,每次暴力处理起 ...

  5. 2014.8.15模拟赛【公主的工作】bzoj1046[HAOI2007]上升序列

    bzoj题目是这样的 Description 对于一个给定的S={a1,a2,a3,-,an},若有P={ax1,ax2,ax3,-,axm},满足(x1 < x2 < - < xm ...

  6. 【2020.10.28SSL普及模拟赛T4】最大异或和【二进制 异或】

    分析 先拆分二进制 统计1个数 因为不能有两个0 或两个1 统计出每个数二进制下1 的个数 如果只有1 位1 则直接算 2 i 2^i 2i 要么则后面的都可以为1 可以选 全部累加成 2 j 2^j ...

  7. [帝皇杯day 1] [NOIP2018模拟赛]小P的loI(暴力+素筛),【NOIP模拟赛】创世纪(贪心),无聊的数对(线段树)

    文章目录 T1:小P的lol title solution code T2:创世纪 title solution code T3:无聊的数对 title solution code T1:小P的lol ...

  8. 【ybt 入门到进阶模拟赛 Day2 T4】数独游戏

    数独游戏 题目链接:ybt 入门到进阶模拟赛 Day2 T4 题目大意 就要你填一个数独,保证有唯一解. 思路 直接暴力 dfs,不用剪枝优化都可以过. 代码 #include<queue> ...

  9. 2020.03.11模拟赛15(第一题)

    1.水果盛宴(fruit) 题目描述 贝茜又再一次地闯入了 Farmer John 的房子!她在厨房发现了一堆柠檬和一堆橘子(每堆都有无限多个),并且,她希望尽可能地多吃. 贝茜的有一个饱腹值上限 T ...

  10. 备战Noip2018模拟赛11(B组)T4 Path 好路线

    10月27日备战Noip2018模拟赛11(B组) T4路径好路线 题目描述 nodgd在旅游.现在,nodgd要从城市的西北角走到东南角去.这个城市的道路并不平坦,nodgd希望找出一条相对比较好走 ...

最新文章

  1. android 壁纸 裁剪,Android图片裁剪之自由裁剪
  2. big endian and little endian
  3. python2.7 + numpy-1.6.1 + matplotlib-1.1.0
  4. tinyxml在linux和windows下的编译及使用详解
  5. 人生聚散,一切随缘!
  6. ATL 开发 COM 过程中的一些经验、问题总结
  7. Mysql load data local命令详解
  8. 九度OJ 1193:矩阵转置 (矩阵计算)
  9. python 学习之路开始了
  10. 苹果 Mac 上不显示外置硬盘?9 个必须尝试的修复方法
  11. Matlab训练BP神经网络的一般步骤
  12. 解析纯真ip数据库php源码, 纯真数据库IP地理位置查询类
  13. web应用程序的部署
  14. RMXP脚本解析(四):Window_Base
  15. markdown的各种操作
  16. Linux---笔记总结
  17. 平板系统win10 Android,Pad变PC:将Win10装入Android平板
  18. EasyUI之Linkbutton按钮
  19. javascript实现页面倒计时
  20. 德州扑克分池算法 思路及lua实现

热门文章

  1. 秒懂Https之CA证书与自签名证书漫谈
  2. windows中如何让chrome信任自签名证书?
  3. 苹果电脑计算机找不到打印机,macbook air电脑关于添加打印机的问题
  4. ubuntu 查看cpu运行频率_ubuntu cpu频率控制
  5. 中央处理器(CPU)—— 控制器的功能和基本原理(微程序控制器(CU))
  6. 常吃西红柿治疗十种病以及食用的一些禁忌
  7. Flutter 性能优化
  8. 天津大学计算机学院网韩瑞泽,2018天津大学计算机学院考研拟录取名单
  9. CTF比赛必备常用工具
  10. 计算机专业的有关的外文文献,计算机专业外文外文 计算机专业专著类参考文献有哪些...