【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. keywords in my life

      在脑子里出现的灵光一现的话语总是美好的: 1.当你试图站在人的发展,历史的发展的角度上看待问题,会发现我们身上所发生的任何事情都是必然的. 2.永远不要以好人的身份去看待和分析一件事情. 3.历史悲剧 ...

    2. Codeforces_816

      A.不断增加时间,直到符合要求. #include<bits/stdc++.h> using namespace std; int a,b; char c; int f(int x) { ...

    3. BZOJ 2434 阿狸的打字机(ac自动机+dfs序+树状数组)

      题意 给你一些串,还有一些询问 问你第x个串在第y个串中出现了多少次 思路 对这些串建ac自动机 根据fail树的性质:若x节点是trie中root到t任意一个节点的fail树的祖先,那么x一定是y的 ...

    4. ubuntu 18. root登录图形界面

      修改文件 vim /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf 增加两行: greeter-show-manual-login=true all-g ...

    5. node.js+express+mongoose实现用户增删查改案例

      node.js+express+mongodb对用户进行增删查改 一.用到的相关技术 使用 Node.js 的 express 框架搭建web服务 使用 express 中间件 body-parse ...

    6. Java开发最佳实践(二) ——《Java开发手册》之"异常处理、MySQL 数据库"

      二.异常日志 (一) 异常处理 (二) 日志规约 三.单元测试 四.安全规约 五.MySQL数据库 (一) 建表规约 (二) 索引规约 (三) SQL语句 (四) ORM映射 六.工程结构 七.设计规 ...

    7. 关于ELF文件和BIN文件

      ELF文件执行过程 ELF文件有操作系统的加载器loader执行,比如linux,windows,对于3803处理器是grmon的load命令. 加载器会读取ELF文件program header,比 ...

    8. RFC笔记—Neighbor Discovery for IP version 6 (IPv6)

      Router Solicitation Message Source Address An IP address assigned to the sending interface, or the u ...

    9. 一个sio.c的实现及遇到的多任务执行问题

      https://sourceforge.net/p/cadcdev/lwip/ci/491e00038f26dc5d775f120aa49519a066819ebf/tree/kos/sio.c /* ...

    10. css中伪类和伪元素

      伪类和伪元素时对那些我们不能通过class.id等选择元素的补充 伪类的操作对象是文档树中已有的元素(可以给已有元素加了一个类替代),而伪元素则创建了一个文档数外的元素(可以添加一个新元素替代) CS ...