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

一个网站seo做哪些工作江西网站建设公司联系方式

一个网站seo做哪些工作,江西网站建设公司联系方式,手机上网自动跳转网站,建设培训学校网站题目给定字符串长度n以及字符串s 其中出现小写字母可以代表小写字母和大写字母 比如a可以代表a和A 出现?可以代表26个小写字母和26个大写字母和10个数字 出现大写字母和数字就是原本的数 同时要求大写字母,小写字母,数字一定都存在替换完的字符串中…

题目给定字符串长度n以及字符串s

其中出现小写字母可以代表小写字母和大写字母  比如'a'可以代表'a'和'A'

出现'?'可以代表26个小写字母和26个大写字母和10个数字

出现大写字母和数字就是原本的数

同时要求大写字母,小写字母,数字一定都存在替换完的字符串中

相邻的字母不能相同

思路

dp[2][70][8]

第一维代表用来存前一个当前状态和前一个状态

70用来存当前的字符

0-25代表小写字母,26-51代表大写字母,52-61代表大写字母,62代表什么都没有也就是初始状态

8用二进制状态压缩存是否出现过大写,小写,数字

_ _ _第一个存是否出现大写,第二个小写,第三个数字

从前往后枚举

当出现'?'

枚举61中可能(i),然后从前面62种状态(j)所有k继承

假如i是小写字母的话

如果i==j 就continue

其他情况dp[now][i][(k|(1<<2))]+=dp[pre][j][k]

同理i是大写的话就

dp[now][i][(k|(1<<1))]+=dp[pre][j][k]

但是这是一个o(64*64*8*100000)

会超时

你可以发现从前一个状态继承的就是62种状态之和减去唯一一个与当前转台不同的就行了

const int inf=0x3f3f3f3f3f3f3f3f,N=1e5+5,mod=998244353;
int dp[2][70][8];
int jian(int x,int y) {return ((x-y)%mod+mod)%mod;
}
signed main() {ios_base::sync_with_stdio(0);cin.tie(0),cout.tie(0);int n;cin>>n;string s;cin>>s;s=' '+s+' ';for(int i=1; i<=n; i++) {int now=i&1,pre=1-now;if(i==1) {dp[pre][62][0]=1;}for(int j=0; j<=62; j++) {for(int k=0; k<=7; k++) {dp[now][j][k]=0;}}vector<int>a(10);for(int j=0; j<=62; j++) {for(int k=0; k<=7; k++) {a[k]+=dp[pre][j][k];a[k]%=mod;}}if(s[i]=='?') {for(int j=0; j<26; j++) {for(int k=1; k<=7; k++) {for(int w=0; w<=7; w++) {if((w|(1<<2))==k) {dp[now][j][k]+=jian(a[w],dp[pre][j][w]);dp[now][j][k]%=mod;}}}}for(int j=26; j<52; j++) {for(int k=1; k<=7; k++) {for(int w=0; w<=7; w++) {if((w|(1<<1))==k) {dp[now][j][k]+=jian(a[w],dp[pre][j][w]);dp[now][j][k]%=mod;}}}}for(int j=52; j<62; j++) {for(int k=1; k<=7; k++) {for(int w=0; w<=7; w++) {if((w|(1<<0))==k) {dp[now][j][k]+=jian(a[w],dp[pre][j][w]);dp[now][j][k]%=mod;}}}}}else if(s[i]>='a'&&s[i]<='z') {for(int j=s[i]-'a'; j<=s[i]-'a'; j++) {for(int k=1; k<=7; k++) {for(int w=0; w<=7; w++) {if((w|(1<<2))==k) {dp[now][j][k]+=jian(a[w],dp[pre][j][w]);dp[now][j][k]%=mod;}}}}for(int j=s[i]-'a'+26; j<=s[i]-'a'+26; j++) {for(int k=1; k<=7; k++) {for(int w=0; w<=7; w++) {if((w|(1<<1))==k) {dp[now][j][k]+=jian(a[w],dp[pre][j][w]);dp[now][j][k]%=mod;}}}}} else if(s[i]>='A'&&s[i]<='Z') {int t=s[i]-'A'+26;for(int k=1; k<=7; k++) {for(int w=0; w<=7; w++) {if((w|(1<<1))==k) {dp[now][t][k]+=jian(a[w],dp[pre][t][w]);dp[now][t][k]%=mod;}}}} else {int t=s[i]-'0'+52;for(int k=1; k<=7; k++) {for(int w=0; w<=7; w++) {if((w|(1<<0))==k) {dp[now][t][k]+=jian(a[w],dp[pre][t][w]);dp[now][t][k]%=mod;}}}}// for(int i=0;i<62;i++){// 	for(int k=0;k<=7;k++){// 		cout<<dp[now][i][k]<<' ';// 	}// 	cout<<"\n";// }// cout<<"--------------------\n";
}
int sum=0;
for(int i=0; i<62; i++) {sum+=dp[(n&1)][i][7];sum%=mod;
}
cout<<sum<<"\n";
}

http://www.yayakq.cn/news/325571/

相关文章:

  • 做网站图片分辨率怎么在网站里做网页
  • 心理学门户网站开发与实现帝国网站7.2 pc wap 跳转
  • 个人网站备案备注写什么做网站外包好吗
  • 深圳专业做网站公司自己做的网站怎么放图片
  • 优秀网站开发红木家具网站模板
  • 评价一个网站教育网站 php
  • 网站增加外链的方法有哪些网店美工的技能要求
  • 网站做视频的软件北京装饰公司前十名
  • seo综合查询 站长工具WordPress 调整语言
  • 网站的网站维护的原因ppt模板免费下载网站不需要登录
  • 高端企业网站源码智慧团建电脑版登录入口官网
  • 知乎 做照片好的网站简单大气网站欣赏
  • 加强网站信息建设wordpress添加端口访问
  • jsp网站开发实现增删改查wordpress seo
  • 网页ui设计的排版临清聊城网站优化
  • 深圳网站建设推广平台网站企业网站建设需求文档
  • 揭阳市php网站开发找工作招聘设计师去哪个网站
  • 济南网站设计公司排名大连网站制作公司费用多少
  • 食品网站建设网站定制开发网站设计的要求有哪些
  • 网站制作的重要性及步骤详解wordpress放tomcat
  • 新中式装修风格样板房上海seo外包公司
  • seo网站排名优化软件是什么天元建设集团有限公司的商业承兑
  • 网站建设公司做网站要多少费用宝塔本地装wordpress
  • 怎么修改网站模板做wish选品参考什么网站
  • .net网站开发程序员wordpress建企业商城
  • 西部中大建设集团有限公司网站最佳外贸建站平台
  • 怎么做旅游网站推广织梦网站备份几种方法
  • 广东做网站策划网络服务提供者知道或者应该知道
  • 在网上做效果图赚钱的网站查网站域名备案价格
  • 什么网站做护工哪个学校的计算机专业最好