【BZOJ4698】[SDOI2008]Sandy的卡片

  • 差分一下然后选一个串,用这个串的所有前缀和其他串kmp,求出最长的公共部分即可
  • 代码:
     #include <bits/stdc++.h>
    #define f(c,a,b) for (int c=a; c<=b; c++)
    #define nmax 1010 using namespace std;
    int n;
    int a[nmax][nmax];
    int b[nmax], nex[nmax], l[nmax]; void buildnext(int lb){
    nex[] = -;
    nex[] = ;
    f(i,,lb){
    int j = nex[i-];
    for(;b[j+]!=b[i]&&j>=; j=nex[j]);
    nex[i] = j+;
    }
    } int kmp(int lb, int id){
    int ans=;
    int j=;
    f(i,,l[id]){
    for(;b[j+]!=a[id][i]&&j>=; j=nex[j]);
    j++;
    ans = max(j,ans);
    }
    return ans;
    } int main(){
    int ans=;
    cin >> n;
    f(i,,n){
    scanf("%d", &l[i]);
    f(j,,l[i]) scanf("%d", &a[i][j]);
    f(j,,l[i]) a[i][j-]=a[i][j]-a[i][j-];
    l[i]--;
    }
    f(i,,l[]){
    int c=;
    f(j,i,l[]) b[++c]=a[][j];
    buildnext(c);
    int ta=nmax;
    f(j,,n) ta = min( kmp(c,j), ta );
    ans = max(ans, ta);
    }
    printf("%d\n",ans+);
    return ;
    }

    KMP刷题记录的更多相关文章

    1. AC 自动机刷题记录

      目录 简介 第一题 第二题 第三题 第四题 第五题 第六题 简介 这就是用来记录我对于<信息学奥赛一本通 · 提高篇>一书中的习题的刷题记录以及学习笔记. 一般分专题来写(全部写一起可能要 ...

    2. PE刷题记录

      PE刷题记录 PE60 / 20%dif 这道题比较坑爹. 所有可以相连的素数可以构成一张图,建出这张图,在其中找它的大小为5的团.注意上界的估算,大概在1W以内.1W内有1229个素数,处理出这些素 ...

    3. leetcode刷题记录--js

      leetcode刷题记录 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但 ...

    4. Leetcode刷题记录(python3)

      Leetcode刷题记录(python3) 顺序刷题 1~5 ---1.两数之和 ---2.两数相加 ---3. 无重复字符的最长子串 ---4.寻找两个有序数组的中位数 ---5.最长回文子串 6- ...

    5. 刷题记录:[HarekazeCTF2019]encode_and_encode

      目录 刷题记录:[HarekazeCTF2019]encode_and_encode 一.知识点 JSON转义字符绕过 php伪协议 刷题记录:[HarekazeCTF2019]encode_and_ ...

    6. 刷题记录:[De1CTF 2019]Giftbox && Comment

      目录 刷题记录:[De1CTF 2019]Giftbox && Comment 一.知识点 1.sql注入 && totp 2.RCE 3.源码泄露 4.敏感文件读取 ...

    7. 刷题记录:[强网杯 2019]Upload

      目录 刷题记录:[强网杯 2019]Upload 一.知识点 1.源码泄露 2.php反序列化 刷题记录:[强网杯 2019]Upload 题目复现链接:https://buuoj.cn/challe ...

    8. 刷题记录:[XNUCA2019Qualifier]EasyPHP

      目录 刷题记录:[XNUCA2019Qualifier]EasyPHP 解法一 1.error_log结合log_errors自定义错误日志 2.include_path设置包含路径 3.php_va ...

    9. 刷题记录:[DDCTF 2019]homebrew event loop

      目录 刷题记录:[DDCTF 2019]homebrew event loop 知识点 1.逻辑漏洞 2.flask session解密 总结 刷题记录:[DDCTF 2019]homebrew ev ...

    随机推荐

    1. 如何在国内下载Eclipse及其插件

      北京理工大学 http://mirror.bit.edu.cn/eclipse/ 中国科学技术大学 http://mirrors.ustc.edu.cn/eclipse/ 大连东软信息学院 http: ...

    2. 有道词典 Andriod 版本数据格式分析

      其实很简单无聊 基于版本 5.3 分析. 其实也简单分析了有道词典iOS版本,必应词典的各个版本,以及金山词典的各个版本,还有那个一直逍遥法外的林格斯词典. 由于在各个平台上的限制,同一词典的不同版本 ...

    3. centos 配置自动启动(nginx为例)

      [Unit] Description=nginx After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin ...

    4. Python 代码风格规范(Google)

      Python风格规范 分号 tip 不要在行尾加分号, 也不要用分号将两条命令放在同一行. 行长度 tip 每行不超过80个字符 例外: 长的导入模块语句 注释里的URL 不要使用反斜杠连接行. Py ...

    5. 深入分析Java反射(三)-泛型

      前提 Java反射的API在JavaSE1.7的时候已经基本完善,但是本文编写的时候使用的是Oracle JDK11,因为JDK11对于sun包下的源码也上传了,可以直接通过IDE查看对应的源码和进行 ...

    6. 关于AR眼镜的小结

      根据IDC(International Data Corporation,国际数据公司,IDC是全球著名的信息技术.电信行业和消费科技咨询.顾问和活动服务专业提供商)的报告,2018年AR和VR的产值 ...

    7. HDU 6562 lovers 2018CCPC吉林H(线段树)

      题意: 初始n个空串,m个操作: 1.给[l,r]的所有字符串头尾加一个‘d’,将原字符串x变为dxd 2.求[l,r]所有字符串代表的数字之和mod 1e9+7 思路: 据说是硬核线段树.. 对于线 ...

    8. Sklearn——SVC学习笔记(图像分割)

      新年第二更. 很长时间前就想总结一下用SVC来做图像分割的方法了,方法实现了,但是一直没有总结,今天再来回顾一遍. 首先介绍一下.今天要总结的图像分割其实属于像素级分类,其输出是把图像按照不同的类别逐 ...

    9. javascript canvas全部API

      HTMLCanvasElement//canvas elem对象 属性 height//高 width//宽 方法 getContext()//获取<canvas>相关的可绘制的上下文 t ...

    10. bat常用符合和for语句等

      一.开头 @echo off(默认是echo on)@echo off执行以后,后面所有的命令均不显示,包括本条命令 二.特殊符号 1. | 命令管道符,echo Y|rd /s c:\abc,通过管 ...