hash值建主席树。

垃圾题面没有熟虑范围害我MLE——>RE。

By:大奕哥

 #include<bits/stdc++.h>
#define unll unsigned long long
#define inf 18446744073709551615UL
using namespace std;
const int N=;
struct node{
int l,r,s;
}t[];
int a[N],rt[N],n,m,k,cnt;unll H[N],pos[N],num;
void change(int &x,unll l,unll r,unll w)
{
t[++cnt]=t[x];x=cnt;
if(l==r){
t[x].s++;return;
}
int mid=l+r>>;
if(w<=mid)change(t[x].l,l,mid,w);
else change(t[x].r,mid+,r,w);
t[x].s=t[t[x].l].s+t[t[x].r].s;
}
int query(int x,int y,unll l,unll r,unll w)
{
if(l==r)return t[x].s-t[y].s;
unll mid=l+r>>;
if(w<=mid)return query(t[x].l,t[y].l,l,mid,w);
else return query(t[x].r,t[y].r,mid+,r,w);
}
int main()
{
scanf("%d%d%d",&n,&m,&k);unll base=;
for(int i=;i<=n;++i)scanf("%d",&a[i]);
for(int i=;i<=k;++i)base*=;
for(int i=;i<=n;++i)
{
H[i]=H[i-]*+a[i];
pos[++num]=H[i]-H[i-k]*base;
}
sort(pos+,pos++num);num=unique(pos+,pos++num)-pos-;
for(int i=k;i<=n;++i)
rt[i]=rt[i-],change(rt[i],,num,lower_bound(pos+,pos++num,H[i]-H[i-k]*base)-pos);
int l,r,x; unll w;
for(int i=;i<=m;++i)
{
scanf("%d%d",&l,&r);w=;
for(int j=;j<=k;++j)
{
scanf("%d",&x);
w=w*+x;
}
int p=lower_bound(pos+,pos++num,w)-pos;
if(pos[p]!=w)puts("Yes");
else if(query(rt[r],rt[l+k-],,num,p))puts("No");
else puts("Yes");
}
return ;
}

BZOJ3207 花神的嘲讽计划的更多相关文章

  1. BZOJ3207: 花神的嘲讽计划Ⅰ(hash)

    3207: 花神的嘲讽计划Ⅰ Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 3569  Solved: 1258[Submit][Status][Di ...

  2. [bzoj3207][花神的嘲讽计划Ⅰ] (字符串哈希+主席树)

    Description 背景 花神是神,一大癖好就是嘲讽大J,举例如下: “哎你傻不傻的![hqz:大笨J]” “这道题又被J屎过了!!” “J这程序怎么跑这么快!J要逆袭了!” …… 描述 这一天D ...

  3. [BZOJ3207] 花神的嘲讽计划Ⅰ (主席树)

    Description 背景 花神是神,一大癖好就是嘲讽大J,举例如下: “哎你傻不傻的![hqz:大笨J]” “这道题又被J屎过了!!” “J这程序怎么跑这么快!J要逆袭了!” …… 描述 这一天D ...

  4. BZOJ3207花神的嘲讽计划Ⅰ——主席树+hash

    题目描述 背景 花神是神,一大癖好就是嘲讽大J,举例如下: “哎你傻不傻的![hqz:大笨J]” “这道题又被J屎过了!!” “J这程序怎么跑这么快!J要逆袭了!” …… 描述 这一天DJ在给吾等众蒟 ...

  5. BZOJ3207 花神的嘲讽计划I

    Time Limit: 10 Sec Memory Limit: 128 MB Summary 给你一个模式串P,q个询问,对每个询问回答从Pl到Pr是否存在与给定串相同的子串,同时有所有的给定串长度 ...

  6. BZOJ3207: 花神的嘲讽计划Ⅰ

    显然hash,然后stl随便搞. #include<bits/stdc++.h> #define N 100005 using namespace std; typedef unsigne ...

  7. 【字符串哈希】【莫队算法】bzoj3207 花神的嘲讽计划Ⅰ

    既然询问的长度是确定的,那么我们可以将所有长度为K的字串弄个哈希值出来,这样字串存在性=>哈希值存在性. 自然上溢哈希,base=107比较不错. 序列长度n=>n-K+1 询问区间[x, ...

  8. bzoj3207花神的嘲讽计划Ⅰ

    题意:http://www.lydsy.com/JudgeOnline/problem.php?id=3207 给定一个原字符串和m个询问,每次查询原字符串[l,r]内是否包含给定字符串s (len( ...

  9. [bzoj3207]花神的嘲讽计划Ⅰ[可持久化线段树,hash]

    将每k个数字求一个哈希值,存入可持久化线段树,直接查询即可 #include <iostream> #include <algorithm> #include <cstd ...

随机推荐

  1. 跳出python的各种坑(1)

    2017-11-1915:38:17 一定要跳出python的各种坑,一开始遇到的好多思维上的认知错误,因为刚开始学习,对python是个什么都不清楚,所以记录一下自己遇到的各种坑.不用担心自己遇到的 ...

  2. 007_苹果Mac系统锁屏不待机效果设置方法介绍

    Mac如何设置锁屏不断网?Mac如何设置锁屏不待机?这是一个非常麻烦的设置,有时候一锁屏幕电脑就跟着待机了,这非常的麻烦,所以今天小编就用图文教程的方式教大家Mac如何设置锁屏不断网Mac如何设置锁屏 ...

  3. 十五、springboot集成定时任务(Scheduling Tasks)(二)之(线程配置)

    配置类: /** * 定时任务线程配置 * */ @Configuration public class SchedulerConfig implements SchedulingConfigurer ...

  4. 运用java反射

    Class类 要正确使用Java反射机制就得使用java.lang.Class这个类.它是Java反射机制的起源.当一个类被加载以后,Java虚拟机就会自动产生一个Class对象.通过这个Class对 ...

  5. 18 A GIF decoder: an exercise in Go interfaces 一个GIF解码器:go语言接口训练

    A GIF decoder: an exercise in Go interfaces  一个GIF解码器:go语言接口训练 25 May 2011 Introduction At the Googl ...

  6. Ubuntu 18.04安装MongoDB 4.0(社区版)

    Ubuntu 18.04(虚拟机VirtualBox上),MongoDB 4.0, 听室友说,23点有世界杯决赛呢!可是,孤要写博文的啊!以记录这忙乱的下午和晚间成功安装了一个软件到Linux上.—— ...

  7. mysqlbinlog的日志类型

    一.mysqlbinlog简介 binlog又叫二进制日志文件,它会将mysql中所有修改数据库数据的Query以二进制的形式记录到日志文件中,如:create,insert,drop,update等 ...

  8. Django基础 - 修改默认SQLite3数据库连接为MySQL

    Django数据库连接默认为SQLite3,打开setting.py可以看到数据库部分的配置如下: DATABASES = { 'default': { 'ENGINE': 'django.db.ba ...

  9. ASP.NET:Forms身份验证和基于Role的权限验证

    从Membership到SimpleMembership再到ASP.NET Identity,ASP.NET每一次更换身份验证的组件,都让我更失望.Membership的唯一作用就是你可以参考它的实现 ...

  10. mysql关联表插入-php环境中

    $insertsql=<<<EOTinsert into tb_manager values(null,'$name','$pwd','1');select @pid:=last_i ...