【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. fgets汉字问题

      #include<stdio.h> #include <stdlib.h> #define N 10 int main(int argc, char *argv[]) { FI ...

    2. CRC循环冗余检测C语言实现----花了几天时间乱写的

      由于笔者目前正在上计算机网络的课,老师要我们编一下crc的循环检测过程,所以我想着刚好在学c,那就随便看看写不写的了,首先百度了一下网上资料,基本都是用位移运算符实现的,由于本人懒得去看一下位移运算, ...

    3. [terminal]终端仿真程序

      char * szCommAry[COMM_NUM]={ //屏幕属性命令,23 "\x1b[12h",//禁止本端回显,键盘数据仅送给主机 "\x1b[12l" ...

    4. 【Java并发工具类】Semaphore

      前言 1965年,荷兰计算机科学家Dijkstra提出的信号量机制成为一种高效的进程同步机制.这之后的15年,信号量一直都是并发编程领域的终结者.1980年,管程被提出,成为继信号量之后的在并发编程领 ...

    5. 对权值线段树剪枝的误解--以HDU6703为例

      引子 对hdu6703,首先将问题转化为"询问一个排列中大于等于k的值里,下标超过r的最小权值是多少" 我们采用官方题解中的做法:权值线段树+剪枝 对(a[i],i)建线段树,查询 ...

    6. 快速应用开发(RAD)平台 - 20 年的演进

      过去几年中,现代软件开发的整体环境发生了巨大的变化.对我个人来说,这种变化与宇宙的加速膨胀差不多.第二个千年刚到来时,产业的发展看起来还不是那么快,只是逐步在前进.现在技术发展的复杂度和多样性已经可以 ...

    7. 20200118--python学习第十一天

      今日内容 函数小高级 lambda表达式 内置函数 内容回顾 1.函数基本结构 2.参数 形参 基本参数:def func(a1,a2):pass 默认值:def func(a1,a2=123):pa ...

    8. hive使用beeline无法登录时的解决办法

      如果参考官方文档执行下列命令,报错: $ $HIVE_HOME/bin/hiveserver2 $ $HIVE_HOME/bin/beeline -u jdbc:hive2://$HS2_HOST:$ ...

    9. Linux 内核参数管理

      Linux 内核有很多可以定制化的参数 -- 内核参数 ( kernel parameters ), 斟酌设置内核参数对 系统调优 意义重大. 内核参数 涵盖内核的方方面面,包括 网络 ( net ) ...

    10. Deepin下将Caps映射为Control_L键

      xmodmap -e 'clear Lock' -e 'keycode 0x42 = Control_L'