/*
暴力查分 n*n
*/
#include<cstdio>
#include<cstring>
#include<iostream>
#define maxn 100010
using namespace std;
int n,m,a[maxn],ans,p[maxn][31],r[31];
int main()
{scanf("%d%d",&n,&m);for(int i=1;i<=n;i++)scanf("%d",&a[i]);for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)if((1<<j-1)&a[i])p[i][j]=p[i-1][j]+1;else p[i][j]=p[i-1][j];for(int i=1;i<=n;i++)for(int j=i+1;j<=n;j++){int falg=0;for(int k=1;k<=m;k++)r[k]=p[j][k]-p[i-1][k];for(int k=2;k<=m;k++)if(r[k]!=r[k-1]){falg=1;break;}if(!falg)ans=max(ans,j-i+1);}printf("%d\n",ans);return 0;
}

/*
还是差分
因为对于符合条件的序列
有 sj0 - si0 = sj1 - si1 =...= sjk-1 - sik-1
也就是说 如果存在i j 满足sj1 - sj0 == si1 - si0  sj2 - sj0 == si2 - si0  ......sjk-1 - sj0 == sik-1 - si0
我们定义c[i,j]=s[i,j]-s[i,0]
问题就转化成了 找隔得最远的ij 满足c[i] 和 c[j] 一样
这里用hash加速查找 给每个c[i] 搞一个hash值 放到hash表里
*/
#include<cstdio>
#include<cstring>
#include<iostream>
#include<cstdlib>
#define maxn 100010
#define mod 999997
using namespace std;
int n,m,a[maxn],ans,p[maxn][35],c[maxn][35],has[maxn*10];
int Get_hash(int *a)
{int r=0;for(int i=0;i<m;i++)r=r%mod+a[i]<<2;if(r<0)r=-r;return r%mod;
}
int main()
{scanf("%d%d",&n,&m);for(int i=1;i<=n;i++)scanf("%d",&a[i]);for(int i=1;i<=n;i++)for(int j=0;j<m;j++)if((1<<j)&a[i])p[i][j]=p[i-1][j]+1;else p[i][j]=p[i-1][j];for(int i=1;i<=n;i++)for(int j=0;j<m;j++)c[i][j]=p[i][j]-p[i][0];memset(has,-1,sizeof(has));has[0]=0;for(int i=1;i<=n;i++){int k=Get_hash(c[i]);while(has[k]!=-1){int falg=0;for(int j=0;j<m;j++)if(c[has[k]][j]!=c[i][j]){falg=1;break;}if(!falg&&i-has[k]>ans){ans=i-has[k];break;}k++;}if(has[k]==-1)has[k]=i;}printf("%d\n",ans);return 0;
}

转载于:https://www.cnblogs.com/yanlifneg/p/5813796.html

1247 排排站 USACO(查分+hash)相关推荐

  1. 2021吉林高考26日几点可以查询成绩,2021吉林高考成绩查分时间及入口

    2021吉林高考成绩查分时间及入口 2021吉林高考成绩查分时间及入口,有一些高考生真的很积极,考完试当天就将答案给对好了,考试嘛,站在旁观者的角度来看总是有人欢喜有人忧.估出来分数不咋地的,整个六月 ...

  2. 研究生查分方式-查分时间大汇总-文都管联院

    最近,出成绩的消息真是铺天盖地,各个平台都是成绩查询和复试.调剂的相关信息. 小编这段时间也在不断的搜集整理考研出分时间,绝大多数院校和省份都在21号.22号出分,所不同的就是时间的早晚罢了. 01 ...

  3. 智学网服务器文件,智学网查分登录不上怎么回事?智学网登录不上的原因与解决办法[图]...

    类型: 大小: 评分: 平台: 标签: 智学网是一款供用户登录进入才能使用的手机学习辅助工具,注意帮助家长及时了解孩子在校的学习成绩哦.可是有些家长在登录的时候,却碰到了问题不知怎么回事,也不知如何是 ...

  4. 计算机专业普通话考试成绩查询时间,2021普通话考完多久能查分 几天出成绩

    2021普通话考完多久能查分 几天出成绩2021-06-12 15:32:54文/丁雪竹 有很多考普通话的同学是非常想知道,普通话考完多久能查分,几天出成绩呢,小编整理了相关信息,希望会对大家有所帮助 ...

  5. 2021梧州一中高考成绩查询,2021年广西高考成绩查询网站查分网址:https://www.gxeea.cn/...

    [摘要]高考结束后大家最为关心的问题就是在哪里查分,如何查分,高考频道特别整理2021年广西高考成绩查询查分网址,成绩公布时考生可直接点击网址进行查分,预祝大家都能顺利的考上理想的大学! 由于,各省级 ...

  6. 喀什市2021年高考成绩查询,2021年新疆高考查分网站查分网址:http://www.xjzk.gov.cn/...

    [摘要]高考结束后大家最为关心的问题就是在哪里查分,如何查分,高考频道特别整理2021年新疆高考成绩查询查分网址,成绩公布时考生可直接点击网址进行查分,预祝大家都能顺利的考上理想的大学! 由于,各省级 ...

  7. POJ2983 查分约束系统

    题意:        给你n个点,然后给你两种情况,P a b c,表明a在b的北边c那么远,V a b 表明a在b的北边(距离最少是1),问你这些条件是否冲突. 思路:       一开始想用带权并 ...

  8. 英语四级计算机准考证查询,四级成绩查询_四级查分:什么?准考证不见了?!!!_沪江英语...

    找回准考证号功能使用说明: 为方便广大考生查询分数,99宿舍提供准考证号找回服务.若你忘记准考证号可通过客服系统提交姓名.学校等信息,99宿舍将为你提供相匹配的准考证号.准考证找回功能仅供参考,准确准 ...

  9. 2021略阳天津高级中学高考成绩查询,2021年天津高考成绩查询网站查分网址:http://www.zhaokao.net/...

    [摘要]高考结束后大家最为关心的问题就是在哪里查分,如何查分,高考频道特别整理2021年天津高考成绩查询查分网址,成绩公布时考生可直接点击网址进行查分,预祝大家都能顺利的考上理想的大学! 由于,各省级 ...

最新文章

  1. 无向完全图k6有几条边_漫画:什么是 “图”?
  2. python【力扣LeetCode算法题库】1013-将数组分成和相等的三个部分(贪心)
  3. QT-X11-3.1.2.tar.bz2的使用
  4. ElasticSearch查询 第四篇:匹配查询(Match)
  5. [待总结]redmine
  6. oracle怎么设置出蓝色边,Oracle 数据库入门之———————-,多行函数-蓝色留心...
  7. 一个通用的Makefile
  8. java class和this_转:java 类名 this 的使用
  9. 《Act with Prudence》读后感
  10. 检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 8000401a
  11. 2022-2028年中国长租公寓行业市场运行格局及发展策略分析报告
  12. 朱晔的互联网架构实践心得S1E8:三十种架构设计模式(下)
  13. 数据预处理 ToTensor和Normalize
  14. 二维数组和二维数组名
  15. 国二c语言程序,国家计算机二级c语言题库及答案
  16. 详解C语言自定义类型(结构体,位段,枚举,联合)
  17. mysql 超时问题的解决办法
  18. 【论文解读|AAAI2021】HGSL - Heterogeneous Graph Structure Learning for Graph Neural Networks 图神经网络的异构图结构学习
  19. 没有网络的计算机怎么装驱动程序,装机后电脑没有网络的情况下,驱动人生6教你首先将网卡驱动安装好...
  20. TextRank提取句子的关键词

热门文章

  1. code dairy
  2. pad_sequences序列预处理
  3. Matlab--Monte Carlo simulation
  4. Skywalking-11:Skywalking查询协议——案例分析
  5. 设计模式学习笔记——桥接(Bridge)模式
  6. A. Gamer Hemose
  7. python文件是怎么打开_python file怎么打开
  8. python运行时间只算快的吗_10种检测Python程序运行时间、CPU和内存占用的方法
  9. 打不开/dev/vmmon:断裂管道_湖北加工管道式自卸除铁器厂家询价咨询_国凯环保设备...
  10. vscode终端乱码