讲一种自认为最暴力的方法。

首先肯定还是用差分的思想,对于每一张卡片进行重新标号,在卡片串与卡片串中插入特殊字符,然后找重复了 \(n\) 次的子串。

这里我们对于每一个子串开一个大小为 \(n\) 的标记,表示他在不在第 \(i\) 个卡片串里。

然而这样很明显容易 \(\text{MLE+TLE}\),考虑优化。

发现用 \(bitset\) 可以直接解决这个问题,时空复杂度 \(O(\dfrac{n^2m}{32})\),可以通过。

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=2e5+5;
int n,ans,len;
struct SAM{
bitset<1005>sm[N];int ln[N],sz[N];
int id,tl,pr[N];map<int,int>tr[N];
vector<int>g[N];int cnt[N];
SAM(){pr[0]=-1;}
void cpy(int x,int y){
tr[x]=tr[y];
pr[x]=pr[y];ln[x]=ln[y];
}void add(int x,int y){
ln[++id]=ln[tl]+1;
int p=tl;tl=id;
while(~p&&!tr[p][x])
tr[p][x]=id,p=pr[p];
if(p<0){
sm[tl][y]=1;
return;
}int u=p,v=tr[p][x];
if(ln[u]+1==ln[v]){
pr[id]=v;
sm[tl][y]=1;
return;
}cpy(++id,v);
ln[id]=ln[u]+1;
pr[v]=pr[id-1]=id;
while(~p&&tr[p][x]==v)
tr[p][x]=id,p=pr[p];
sm[tl][y]=1;
}void dfs(int x){
for(int i=0;i<g[x].size();i++){
dfs(g[x][i]);
sm[x]|=sm[g[x][i]];
}int flag=0;
for(int j=1;j<=n;j++)
flag+=sm[x][j];
if(flag==n) ans=max(ans,ln[x]);
}void jb(){
for(int i=1;i<=id;i++)
g[pr[i]].push_back(i);
}
}sam;int m,s[N];
int main(){
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>n;
for(int i=1;i<=n;i++){
cin>>m;sam.add(10000+i,i);
for(int j=1;j<=m;j++)
cin>>s[j];
for(int j=2;j<=m;j++)
sam.add(s[j]-s[j-1]+3728,i);
}sam.jb();sam.dfs(0);
cout<<ans+1;
return 0;
}//man!what can I say!

[SDOI2008] Sandy的卡片 题解的更多相关文章

  1. BZOJ4698 & 洛谷2463:[SDOI2008]Sandy的卡片——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=4698 https://www.luogu.org/problemnew/show/P2463#sub ...

  2. 【BZOJ4698】Sdoi2008 Sandy的卡片 后缀数组+RMQ

    [BZOJ4698]Sdoi2008 Sandy的卡片 Description Sandy和Sue的热衷于收集干脆面中的卡片.然而,Sue收集卡片是因为卡片上漂亮的人物形象,而Sandy则是为了积攒卡 ...

  3. 【BZOJ4698】[SDOI2008]Sandy的卡片

    [BZOJ4698][SDOI2008]Sandy的卡片 题面 flag倒了. bzoj 洛谷 题解 首先题目的区间加很丑对吧, 将每个串差分一下,就可以转化为 求: 给定\(N\)个串,求他们的最长 ...

  4. BZOJ 4698: Sdoi2008 Sandy的卡片

    4698: Sdoi2008 Sandy的卡片 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 106  Solved: 40[Submit][Stat ...

  5. BZOJ 4698: Sdoi2008 Sandy的卡片 [后缀自动机]

    4698: Sdoi2008 Sandy的卡片 题意:差分后就是多个串LCS SAM+map大法好 模板打错 智力-2 #include <iostream> #include <c ...

  6. 洛谷 P2463 [SDOI2008]Sandy的卡片 解题报告

    P2463 [SDOI2008]Sandy的卡片 题意 给\(n(\le 1000)\)串,定义两个串相等为"长度相同,且一个串每个数加某个数与另一个串完全相同",求所有串的最长公 ...

  7. bzoj4698 / P2463 [SDOI2008]Sandy的卡片

    P2463 [SDOI2008]Sandy的卡片 直接二分长度暴力匹配....... 跑的还挺快 (正解是后缀数组的样子) #include<iostream> #include<c ...

  8. P2463 [SDOI2008]Sandy的卡片[差分+串拼接后缀数组]

    P2463 [SDOI2008]Sandy的卡片 套路都差不多,都是差分后二分答案找lcp.只是这题要把多个串拼接起来成为一个大串,中间用某些值域中没有的数字相隔(最好间隔符都不一样想想为什么),排序 ...

  9. 【bzoj4698】[Sdoi2008] Sandy的卡片 后缀数组

    题目描述 Sandy和Sue的热衷于收集干脆面中的卡片.然而,Sue收集卡片是因为卡片上漂亮的人物形象,而Sandy则是为了积攒卡片兑换超炫的人物模型.每一张卡片都由一些数字进行标记,第i张卡片的序列 ...

  10. [bzoj4698][Sdoi2008]Sandy的卡片_后缀数组_二分/单调队列_双指针

    Sandy的卡片 bzoj-4698 Sdoi-2008 题目大意:题目链接. 注释:略. 想法: 这个题跟一个Usaco的题特别像.我们把这些串差分 现在我们要求的就是公共子串且出现次数不少于$k$ ...

随机推荐

  1. 销讯通CRM客户关系管理系统的功能拆分

    随着技术的发展,CRM系统(客户关系管理)成为企业不可或缺的工具,本文从医药行业角度简要谈谈CRM系统的功能. 从业务的理解来说,从医药行业来说,CRM客户管理系统的有以下几部分功能: 01 客户的分 ...

  2. 【论文系列】PPO知识点梳理 (尽我可能细致通俗理解!)

    零.题记 这篇博客一方面为了记录当前的知识点,另一方面PPO算法实在是太重要了,不但要从理论上理解它到底是怎样实现的,还需要从代码方面进行学习和记录,这里我就通俗的将这个知识点进行简单的记录,用来日后 ...

  3. 《前端运维》二、Nginx--2请求处理流程及核心模块

    前一篇内容,我们学习了nginx的一些基本概念.安装和目录的作用.这篇文章我们来学习一些更加深入的内容. 一.Nginx请求处理流程 我们先来看张图吧: 我们看上图,首先客户端请求到Nginx服务器, ...

  4. liunx安装docker,portainer,mysql,rabbitMQ,nacos

    由于公司框架迭代了,故此写个随笔,记录一下,方便日后回顾 1.准备 阿里云服务器(liunx CentOS 7.6) 2.前置工作 (1)查看系统版本 lsb_release -a (2)查看系统以及 ...

  5. 学习破解一个Android程序

    首先编写一个android测试程序 功能:校验用户名和注册码,成功则弹出注册成功提示 以下仅给出关键部分的代码 res/layout/activity_main.xml <?xml versio ...

  6. 字符编码技术专题(一):快速理解ASCII、Unicode、GBK和UTF-8

    本文由阮一峰(ruanyifeng.com)分享,本文收录时有内容修订和排版优化. 1.引言 今天中午,我突然想搞清楚 Unicode 和 UTF-8 之间的关系,就开始查资料. 这个问题比我想象的复 ...

  7. kubernetes系列(六) - 资源清单

    目录 1. kubernetes中的资源 1.1 定义 1.2 资源类型 1.2.1 工作负载型资源对象(workload) 1.2.2 服务发现及均衡资源对象 1.2.3 配置与存储资源对象 1.2 ...

  8. AngleSharp 自带的HttpRequest参数设置

    AngleSharp自带一个获取网址源码的api,可以方便的从web取得html var config = Configuration.Default.WithDefaultLoader(); var ...

  9. C# WinForm 检查目标主机的端口是否可连接

    一个小工具. namespace IPPort_CheckTool { partial class MainForm { /// <summary> /// 必需的设计器变量. /// & ...

  10. w3cschool-Spring Security

    https://www.w3cschool.cn/springsecurity/na1k1ihx.html Spring Security,这是一种基于 Spring AOP 和 Servlet 过滤 ...