n个牛 二进制最多k位

给你n个数

求max(j-i)&&对应二进制位的和相同

7    1  1  1  倒的

6    0  1  1

7    1  1  1

2    0  1  0

1    1  0  0

4    0  0  1

2    0  1  0

3 4 5 6  加起来一样

前缀和 - 第一列

然后就发现对应相等就是和相同

根据 和  hash

和   有小于0的

下标注意一下

 #include<stdio.h>
#include<algorithm>
#include<string.h>
#include<math.h>
#include<vector> using namespace std; #define MAXN 100010
#define mod 14997 int n,k;
int x[MAXN][];
vector<int>hash[]; int main()
{
scanf("%d%d",&n,&k);
int ans=; for(int i=;i<=n;i++)
{
int a,j,ii;
scanf("%d",&a);
j=;
while(a)
{
x[i][j++]=a%;
a=a/;
}
for(ii=;ii<=k;ii++)
x[i][ii]+=x[i-][ii];
for(ii=;ii<k;ii++)
if(x[i][ii]!=x[i][ii+])
break;
if(ii==k)
ans=i;
} for(int i=;i<=n;i++)
{
int sum=,ii;
for(int j=;j<=k;j++)
{
x[i][j]-=x[i][];
sum=sum+x[i][j];
}
x[i][]=;
sum=abs(sum)%mod;
for(int j=;j<hash[sum].size();j++)
{
for(ii=;ii<=k;ii++)
if(x[hash[sum][j]][ii]!=x[i][ii])
break;
if(ii==k+&&i-hash[sum][j]>ans)
ans=i-hash[sum][j];
}
hash[sum].push_back(i);
}
printf("%d\n",ans);
return ;
}

哈希 poj 3274的更多相关文章

  1. POJ 3274 Gold Balanced Lineup(哈希)

    http://poj.org/problem?id=3274 题意 :农夫约翰的n(1 <= N <= 100000)头奶牛,有很多相同之处,约翰已经将每一头奶牛的不同之处,归纳成了K种特 ...

  2. poj 3274 Gold Balanced Lineup(哈希 )

    题目:http://poj.org/problem?id=3274 #include <iostream> #include<cstdio> #include<cstri ...

  3. POJ 3274:Gold Balanced Lineup 做了两个小时的哈希

    Gold Balanced Lineup Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 13540   Accepted:  ...

  4. POJ 3274 Gold Balanced Lineup 哈希,查重 难度:3

    Farmer John's N cows (1 ≤ N ≤ 100,000) share many similarities. In fact, FJ has been able to narrow ...

  5. POJ 3274 HASH

    题目链接:http://poj.org/problem?id=3274 题意+思路: 点击这里 补充:因为有减法运算,所以可能会造成运算后结果为负数,所以需要把结果统一转换成正数[不然数组下标访问不到 ...

  6. 哈希—— POJ 3349 Snowflake Snow Snowflakes

    相应POJ题目:点击打开链接 Snowflake Snow Snowflakes Time Limit: 4000MS   Memory Limit: 65536K Total Submissions ...

  7. [字符哈希] POJ 3094 Quicksum

    Quicksum Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 16488   Accepted: 11453 Descri ...

  8. 哈希 poj 3349

    n个雪花 判断有没有相同的 正的和倒的相同都可以 哈希一下  比的少了就可以 #include<stdio.h> #include<algorithm> #include< ...

  9. POJ 3274 Gold Balanced Lineup

    Gold Balanced Lineup Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 10924 Accepted: 3244 ...

随机推荐

  1. Android中关于Handler的若干思考

    在之前的博文中,讲过一些和Handler有关的知识,例如: Android 多线程----AsyncTask异步任务详解 Android多线程----异步消息处理机制之Handler详解 今天再把Ha ...

  2. POJ3083Catch That Cow[BFS]

    Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 77420   Accepted: 24457 ...

  3. 转:大气炫酷焦点轮播图js特效

    使用方法 Step 1. 在html的标签内引入相关文件 <script type="text/javascript" src="js/myfocus-2.0.0. ...

  4. android之android.intent.category.DEFAULT的用途和使用

    1.要弄清楚这个问题,首先需要弄明白什么是implicit(隐藏) intent什么是explicit(明确) intent. Explicit Intent明确的指定了要启动的Acitivity , ...

  5. django复习笔记3:实战

    1.初始化 2.配置后台,增加测试数据 3.测试urls/views/templates 4.增加静态资源 5.修改样式 6.模版继承 7.增加博文主页 8.增加表单 9.完善新增页面和编辑页面的表单 ...

  6. Kali linux渗透测试常用工具汇总2-渗透攻击

    渗透攻击的思路一般是扫描漏洞,然后利用不同的漏洞,才有针对的渗透攻击. 漏洞扫描的工具有Nessus,该工具可同时在本地或远端遥控,对系统的漏洞分析扫描.Nessus通过新建扫描策略,并添加对应的插件 ...

  7. ESXi 6.0 配置

    ESXi 6.0 添加静态路由 首先打开ESXi的SSH服务, 在Configuration -> Security Profile -> Services , start SSH 用管理 ...

  8. VS2013使用EF6与mysql数据库

      您的项目引用了最新实体框架:但是,找不到数据链接所需的与版本兼容的实体框架数据库 EF6使用Mysql的技巧   在vs2013中使用mysql连接entityFramework经常会遇到这个问题 ...

  9. 上传Text文档并转换为PDF(解决乱码)

    前些日子,Insus.NET有分享一篇<上传Text文档并转换为PDF>http://www.cnblogs.com/insus/p/4313092.html 它是按最简单与默认方式来处理 ...

  10. ssh生成key不交互

    ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ""   首次执行不交互 第二次再次执行会让输入y