博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CodeForces 667C Reberland Linguistics
阅读量:6892 次
发布时间:2019-06-27

本文共 1729 字,大约阅读时间需要 5 分钟。

$dp$。

题意中有一个词组:$in$ $a$ $row$,是连续的意思....

因此这题只要倒着$dp$一下就可以了。$f[i][0]$表示从$i$位置往后割两个能否割,$f[i][1]$表示从$i$位置往后割三个能否割。

#pragma comment(linker, "/STACK:1024000000,1024000000")#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;typedef long long LL;const double pi=acos(-1.0),eps=1e-6;void File(){ freopen("D:\\in.txt","r",stdin); freopen("D:\\out.txt","w",stdout);}template
inline void read(T &x){ char c=getchar(); x=0; while(!isdigit(c)) c=getchar(); while(isdigit(c)) {x=x*10+c-'0'; c=getchar();}}const int maxn=100100;char s[maxn];int len,f[maxn][2];vector
ans;map
d;int main(){ memset(s,0,sizeof s); scanf("%s",s); len=strlen(s); f[len][0]=f[len][1]=1; for(int i=len-1;i>4;i--) { if(len-i>=2) { if(f[i+2][1]==1) { char t[5]; memset(t,0,sizeof t); t[0]=s[i]; t[1]=s[i+1]; f[i][0]=1; if(d[t]==0) ans.push_back(t),d[t]=1; } else if(f[i+2][0]==1) { char t[5],g[5]; memset(t,0,sizeof t); memset(g,0,sizeof g); t[0]=s[i]; t[1]=s[i+1]; g[0]=s[i+2]; g[1]=s[i+3]; if(strcmp(t,g)==0) continue; f[i][0]=1; if(d[t]==0) ans.push_back(t),d[t]=1; } } if(len-i>=3) { if(f[i+3][0]==1) { char t[5]; memset(t,0,sizeof t); t[0]=s[i]; t[1]=s[i+1]; t[2]=s[i+2]; f[i][1]=1; if(d[t]==0) ans.push_back(t),d[t]=1; } else if(f[i+3][1]==1) { char t[5],g[5]; memset(t,0,sizeof t); memset(g,0,sizeof g); t[0]=s[i]; t[1]=s[i+1]; t[2]=s[i+2]; g[0]=s[i+3]; g[1]=s[i+4]; g[2]=s[i+5]; if(strcmp(t,g)==0) continue; f[i][1]=1; if(d[t]==0) ans.push_back(t),d[t]=1; } } } sort(ans.begin(),ans.end()); printf("%d\n",ans.size()); for(int i=0;i

 

转载于:https://www.cnblogs.com/zufezzt/p/5874458.html

你可能感兴趣的文章
利用nginx 配置vue多项目环境
查看>>
面试:你知道为什么会有 Generator 吗
查看>>
异常定位(1)--生产环境通过SourceMap还原压缩后JavaScript错误,快速定位异常
查看>>
tomcat学习:安装ssl证书
查看>>
TkMybatis的常用方法介绍
查看>>
大力发展金融创新,GTQ FIN致力于发展创新型衍生品交易平台
查看>>
安装vue-cli 3.0和注意事项
查看>>
【Vue.js 牛刀小试】:第十一章 - Vue 中 ref 的使用
查看>>
JSX
查看>>
LeetCode 之 JavaScript 解答第239题 —— 滑动窗口最大值(Sliding Window Maximum)
查看>>
一个项目带你走进产品经理的世界(2)需求分析
查看>>
css经典布局——圣杯布局
查看>>
Java基础系列五
查看>>
css3常用属性总结(1)
查看>>
SQLServer之创建索引视图
查看>>
面试集锦(六)数据结构(2)
查看>>
VimWiki的一些技巧
查看>>
GMQT全球通用积分重磅推出
查看>>
spring cloud构建互联网分布式微服务云平台-路由网关(zuul)
查看>>
Parasoft dotTEST(10.4.1)更新亮点——在.NET应用程序中构建安全性
查看>>