当前位置: 首页 > news >正文

东莞做网站的沈阳seo收费

东莞做网站的,沈阳seo收费,免费做网站的app,北京如何申请公司网站备案号题意: 给出一个长度为n的字符,字符是前m个小写字母,有q个询问,每次询问一个最短子序列的长度满足不是[l,r]内任意一个子序列 思路: [l,r]中子序列可以看成是从[l,r]中的某个位置开始,跳到下一个字符的位…

题意:

给出一个长度为n的字符,字符是前m个小写字母,有q个询问,每次询问一个最短子序列的长度满足不是[l,r]内任意一个子序列

思路:

[l,r]中子序列可以看成是从[l,r]中的某个位置开始,跳到下一个字符的位置,如果满足位置在r以内就取这个字符,然后继续从这个字符的位置开始跳,子序列的长度就是跳的步数。

那么最小的没出现过的子序列长度就是从l-1开始跳,每次跳到所有字符出现的最大坐标处,如果在r以内就继续跳,超过r就表明当前收集的子串的下一个最远的字符位置超出了r,不属于[l,r]的子串,那么答案就是当前收集的子串长度+1(步数+1)

用nxt[i][j]表示从第i个位置往后的下一个字符为j的坐标,那么我们从后往前处理

用f[i][j]表示从第i个位置开始走,走2^j步能走到的最大坐标,先预处理f[i][0],转换方程是f[i][j]=f[f[i][j-1]][j-1]

然后在询问每个[l,r]的时候,now从l-1开始,j从大到小枚举,如果f[now][j]<r说明可以跳,跳的步数是1<<j,now=f[now][j],最后答案就是步数+1

#include<bits/stdc++.h>
//#define int long long
using namespace std;
const int N=2e5+10;
int n,m,q;
string s;
int nxt[N][30];
int f[N][30];
int pos[30];
void sove(){cin>>m>>n;cin>>s;s=" "+s;for(int i=0;i<m;i++)nxt[n][i]=n+1;for(int i=n;i>=1;i--){pos[s[i]-'a']=i;for(int j=0;j<m;j++){if(pos[j])nxt[i-1][j]=pos[j];else nxt[i-1][j]=n+1;
//			cout<<"i-1=="<<i-1<<" j=="<<j<<" nxt="<<nxt[i-1][j]<<endl;}}for(int i=0;i<=n;i++){int mx=0;for(int j=0;j<m;j++)mx=max(mx,nxt[i][j]);f[i][0]=mx;
//		cout<<"i=="<<i<<" f=="<<f[i][0]<<endl;for(int j=0;j<19;j++) f[n][j]=f[n+1][j]=n+1;}for(int j=1;j<19;j++){for(int i=0;i<=n;i++){f[i][j]=f[f[i][j-1]][j-1];
//			cout<<"i=="<<i<<" j=="<<j<<" f="<<f[i][j]<<endl;}}cin>>q;while(q--){int ans=0;int l,r;cin>>l>>r;int now=l-1;for(int j=18;j>=0;j--){if(f[now][j]<=r){
//				cout<<"now=="<<now<<" j=="<<j<<" f=="<<f[now][j]<<endl;ans+=1<<j;now=f[now][j];}}cout<<ans+1<<endl;}
}
int main(){ios::sync_with_stdio(false);cin.tie(),cout.tie();int t=1;
//	cin>>t;while(t--){sove();}return 0;
}

http://www.mmbaike.com/news/32538.html

相关文章:

  • 什么网站可以做实验室品牌传播策划方案
  • 营口品牌网站建设网络营销论文题目
  • 浦东建设网站网络推广seo怎么弄
  • 网站做权重的方法线上营销推广的公司
  • 上海网站推广服务公司百度的相关搜索
  • 缙云做网站电子商务网站建设的步骤
  • 口碑好的网站开发公司电话当前疫情十大热点
  • 网站反链怎么做汕头seo优化公司
  • 网页翻译不了杭州seo公司
  • 旅游资讯网站开发论文千锋教育的it培训怎么样
  • 哪个公司做网站便宜如何引流客源最快的方法
  • 做一个小公司网站多少钱百度指数查询官方下载
  • 网页.网站.主页.网址.域名有什么联系朋友圈广告投放平台
  • 附近的计算机培训班seo怎么优化方案
  • 做老电影网站侵权吗最近的国际新闻
  • php做网站的公司有哪些最近新闻小学生摘抄
  • 中央电视台新闻联播seo优化一般包括
  • 新河网站建设上海搜索排名优化
  • 张家港早晨网站制作新浪网今日乌鲁木齐新闻
  • 网站维护运营优化公司广告精准推广平台
  • 怎样在微信做产品网站东莞网络推广公司
  • 北票网站建设杭州seo公司
  • 镇江网站建设价格营销方式和渠道有哪些
  • 长沙专业做网站公司网站seo排名优化
  • 帮人做钓鱼网站的人荆门今日头条新闻发布
  • 网页游戏广告平台网站建设十大互联网广告公司
  • 制作营销网站模板免费下载优化设计答案大全英语
  • 旅游网站建设公司2021百度最新收录方法
  • 发布外链网站seo的方法有哪些
  • 企业网站设计营销青岛网站建设公司排名