传送门

Do not go gentle into that good night.

Old age should burn and rave at close of day.

Rage Rage against the dying light.

不要温和地走进那个良夜。

白昼将尽,暮年仍应燃烧咆哮

怒斥吧——怒斥光的消逝。

Ame 是一位生活在 2078 年的女孩子。在她 16 岁时,她参加了 SpaceN 公司举行的知识竞赛并得到了特等奖,由此进入了 Space Explorer Program,Ame 由此获得了太空旅行的机会。我们的故事从这场太空旅行拉开。

​ 这场旅行除了 Ame 外共有 n n n 位乘客,每位乘客都到飞船外尝试了太空漫步。太空没有重力的限制,因此每位乘客都可以自由地在三维空间中移动(使用 SpaceN 公司研发的 Space Jet 装置)——但在 Ame 眼中他们是在一个(投影的)二维空间移动。Ame 用一个只由 N ‾ \underline{N} N​(北)、 S ‾ \underline{S} S​(南)、 E ‾ \underline{E} E​(东)和 W ‾ \underline{W} W​(西)构成的非空字符串 s i s_i si​ 来描述第 i i i 个乘客的移动轨迹(Ame 称之为轨迹串)。乘客每一单位时间移动一步,也就是说第 i i i 个乘客一共太空漫步了 $ \left|s_i\right|$ 单位时间。

​ Ame 又想出了一个固定的模式串,这个模式串由 $ \underline{NSEW*?[]} $ 构成,意义为:

  • ∗ ‾ \underline{*} ∗​:代表一个任意不定长度的可空串。
  • ? ‾ \underline{?} ?​:代表一个不定的动作($ \underline{NSEW}$)。
  • [ A ] ‾ \underline{[A]} [A]​:代表 $ \underline{A} $ 可以出现也可以不出现,其中 A ‾ \underline{A} A​ 也是一个模式串。
  • $ \underline{NSEW} $:代表对应动作。

​ 如果这个模式串能够匹配一个轨迹串,那么称这个轨迹是优美的。例如,当模式串是 N S ∗ E ‾ \underline{NS*E} NS∗E​,那么 N S W E ‾ \underline{NSWE} NSWE​ 和 N S E ‾ \underline{NSE} NSE​ 都是优美的, N S E W ‾ \underline{NSEW} NSEW​ 则不是。

​ 现在 Ame 想要问你,对于每一个乘客,各个时刻为止他走出的轨迹是不是优美的

输入共 n + 2 n+2 n+2 行。

第一行一个字符串,表示 Ame 想的模式串。

第二行一个正整数 n n n,代表除 Ame 外乘客的数量。

接下来 n n n 行,第 i i i 行给出第 i i i 个乘客的轨迹串 s i s_i si​。

输出共 n n n 行,第 i i i 行给出一个长度为 ∣ s i ∣ \left| s_i \right| ∣si​∣ 的由 01 ‾ \underline{01} 01​ 构成的字符串。该字符串的第 j j j 位( 1 ≤ j ≤ ∣ s i ∣ 1\le j\le\left|s_i\right| 1≤j≤∣si​∣)代表第 i i i 个乘客在前 j j j 个单位时间走出的轨迹是不是优美的( 0 ‾ \underline{0} 0​ 代表不是优美的, 1 ‾ \underline{1} 1​ 代表是优美的),即, s i s_i si​ 的前 j j j 位前缀是不是优美的

样例输入 1

N[E]W
2
NW
NEW

样例输出 1

01
001

样例输入 2

?E
2
SE
WE

样例输出 2

01
01

样例输入 3

N*E
2
NE
NWEWEWSSSE

样例输出 3

01
0010100001

样例输入 4

?W[W[E]E]ES
3
SWWEEES
SWWEES
SWES

样例输出 4

0000001
000001
0001

约定 ∗ ? [ ] ‾ \underline{*?[]} ∗?[]​ 为特殊字符。

对于所有测试点,满足 n ≤ 100 n\le100 n≤100,模式串非空且长度小于等于 100 100 100, ∣ s i ∣ > 0 \left|s_i\right|>0 ∣si​∣>0, ∑ i = 1 n ∣ s i ∣ ≤ 1 0 6 \sum_{i=1}^{n}\left|s_i\right|\le10^6 ∑i=1n​∣si​∣≤106。保证模式串是合法的,没有相邻的特殊字符,且 [ ‾ \underline{[} [​ 和 ] ‾ \underline{]} ]​ 总是两两配对的。

每个子任务的具体限制见下表:

子任务编号 分值 可能含有的特殊字符 特殊限制
1 2
2 8 ? ‾ \underline{?} ?​ A
3 20 ∗ ? ‾ \underline{*?} ∗?​ B
4 20 [ ] ‾ \underline{[ \ ]} [ ]​ C
5 20 ∗ ‾ \underline{*} ∗​ D
6 28 ∗ ? [ ] ‾ \underline{*?[ \ ]} ∗?[ ]​
7 2 ∗ ? [ ] ‾ \underline{*?[ \ ]} ∗?[ ]​

特殊限制 A:模式串中最多只会出现一个 ∗ ‾ \underline{*} ∗​。

特殊限制 B:模式串长度小于等于 10 10 10, ∑ i = 1 n ∣ s i ∣ ≤ 1 0 4 \sum_{i=1}^n\left|s_i\right|\le 10^4 ∑i=1n​∣si​∣≤104, [ ] ‾ \underline{[]} []​ 中出现的是一个轨迹串,即 [ ] ‾ \underline{[]} []​ 不会嵌套。

特殊限制 C:模式串中最多会出现 10 10 10 个 ∗ ‾ \underline{*} ∗​。

特殊限制 D:模式串与所有乘客的轨迹串在所有可能的合法字符串中随机生成。

成都七中 noip2020模拟

考虑 D P DP DP,跟 l c s lcs lcs 基本一样,不过初始状态要预处理。(毒瘤)

#include<bits/stdc++.h>
using namespace std;
char s[105],str[1000005];
int pre[105];
int f[1000006][105];
int sta[105],top;
int main(){scanf("%s",1+s);int len=strlen(1+s);for(int i=1;i<=len;++i){if(s[i]=='['){sta[++top]=i;}if(s[i]==']'){pre[i]=sta[top--];}}int n;scanf("%d",&n);f[0][0]=1;for(int i=1;i<=len;++i){if(s[i]=='[')f[0][i]|=f[0][i-1];if(s[i]==']')f[0][i]|=f[0][pre[i]-1];if(s[i]=='*')f[0][i]|=f[0][i-1];}while(n--){scanf("%s",1+str);int nlen=strlen(1+str);for(int i=1;i<=nlen;++i){for(int j=1;j<=len;++j){f[i][j]=0;if(s[j]=='*')f[i][j]|=f[i-1][j]|f[i][j-1]|f[i-1][j-1];if(s[j]=='?')f[i][j]|=f[i-1][j-1];if(s[j]=='[')f[i][j]|=f[i][j-1];if(s[j]==']')f[i][j]|=f[i][pre[j]-1]|f[i][j-1];if(s[j]==str[i])f[i][j]|=f[i-1][j-1];}putchar(f[i][len]?'1':'0');}putchar('\n');}return 0;
}

DTOJ#5201. 太空漫步相关推荐

  1. 【BUAA 595】太空漫步

    [BUAA 595]太空漫步 最小生成树 kruskal模板题 代码如下 #include <bits/stdc++.h>using namespace std;typedef struc ...

  2. skywalking(太空漫步)

    目录 一.skywalking介绍 二.skywalking安装 三.skywalkingk看板介绍 1.UI介绍 2.主仪表盘 1.Global简介 2.Service简介 3.场景1:找出对应服务 ...

  3. java游戏太空能挖矿_妄想山海:玩家一小时能采集上百块星石?带你了解太空挖矿的玩法...

    开局人手一只鲲,战宠进化全靠吞!大家好,我是爱玩游戏的戏虫,欢迎各位玩家来到妄想山海游戏学院第23期. 随着游戏进度的发展,玩家的储物箱空间不足的问题也就随之出现,为此戏虫只能想方设法去打造更加高级的 ...

  4. 扒中台的“祖坟”!对不起,Supercell的“中台”,你学不会

    来源| 技术领导力(ID:jishulingdaoli) 关于中台的起源,江湖上流传着一种说法,2015 年中,马云带领阿里巴巴集团高管,拜访了位于北欧的芬兰游戏公司Supercell,让众人惊讶的是 ...

  5. 人工智能化发展已经到了哪一步?

    Facebook CEO扎克伯格表示,本世纪科技领域最重要的技术挑战,就是让人工智能或者机器人能够依靠自身独立学习,掌握知识. 从<星际穿越>.<火星救援>.<2001太 ...

  6. 网站渗透测试原理及详细过程

    渗透测试实战 site:baidu.com 渗透测试思路 site:baidu.com 带你入门渗透测试的5个项目:https://www.jianshu.com/p/5b82e42ae346 渗透测 ...

  7. js实现椭圆轨迹_华为开发者大会2020隆重召开,亿健T10椭圆机荣耀参展

    引言:万众瞩目的华为开发者大会2020(HDC·Together)于2020年9月10日在东莞松山湖隆重拉开帷幕.第一天的主题演讲中,华为带来了HarmonyOS 2.0.EMUI 11.HMS.HU ...

  8. 机器视觉及图像处理系列之二(C++,VS2015)——图像级的人脸识别(1)

    机器视觉及图像处理系列之二(C++,VS2015)--图像级的人脸识别(1) 接上一篇,一切顺利的话,你从github上clone下来的整个工程应该已经成功编译并生成dll和exe文件了:同时,Ima ...

  9. 奔涌吧,前浪,追击吧,后浪

    作者:学渣瑞 连接:https://www.zhihu.com/question/392763695/answer/1202436826 那些口口声声, 说中年人油腻的人,应该看着你们: 像我一样,我 ...

最新文章

  1. 蓝桥杯 历届试题 九宫重排
  2. VMWare安装黑苹果Mac OS
  3. 【Go API 开发实战 2】RESTful API 介绍
  4. 申通快递机器人上岗_申通快速分拣机器人未来有70%人会失业
  5. vue iframe 中写script_vue: 单文件组件 render函数
  6. C#:向C++封送结构体数组
  7. 程序人生:提高代码运行效率的9个技巧
  8. grunt 前端开发环境搭建
  9. python-format函数
  10. [转] linux操作系统下c语言编程入门--基础知识
  11. 提取swf素材_swf素材提取工具
  12. java后台模板_Java服务端后台常用模板
  13. 今日头条18校招第一批算法笔试
  14. python内置函数用来返回_python内置函数2
  15. 现在开始学程序还不晚吧
  16. python3:urllib/urllib2
  17. 命令模式实例与解析--实例一:电视机遥控器
  18. 汉诺塔问题的时间复杂度
  19. 开膛手约翰(john)的初学者指南(第2部分)
  20. Baxter手臂控制

热门文章

  1. 网络语言嗨C,1,2,3,4,5,6,7,8,9,0的网络语言代表什么意思啊?
  2. 2020年计算机高级职称,2020年计算机软考高级哪个好考
  3. ios uitableviewcell 添加uibutton无法Highlighted问题
  4. vue-其他watch监听.html
  5. 为什么下载了应用软件,在打开相对应文件时候,打开方式里却不提示,而且设置默认打开文件方式也不行?
  6. 量比和换手率:选股有奇招
  7. react+dva+antd的骚操作
  8. 11.pgsql批量插入测试数据测试
  9. 外贸邮箱用什么好?如何绑定随心邮?
  10. java中BigInteger用法的详解