HDU 6170 - Two strings | 2017 ZJUT Multi-University Training 9
/*
HDU 6170 - Two strings [ DP ] | 2017 ZJUT Multi-University Training 9
题意:
定义*可以匹配任意长度,.可以匹配任意字符,问两串是否匹配
分析:
dp[i][j] 代表B[i] 到 A[j]全部匹配
然后根据三种匹配类型分类讨论,可以从i推到i+1
复杂度O(n^2)
*/
#include <bits/stdc++.h>
using namespace std;
const int N = 2505;
int t;
char a[N], b[N];
int la, lb;
bool dp[N][N];
int main()
{
scanf("%d", &t);
while (t--)
{
scanf("%s%s", a+1, b+1);
la = strlen(a+1);
lb = strlen(b+1);
memset(dp, 0, sizeof(dp));
dp[0][0] = 1;
for (int i = 1; i <= lb; i++)
{
if (b[i] == '.')
{
for (int j = 1; j <= la; j++) dp[i][j] = dp[i-1][j-1];
}
else if (b[i] == '*')
{
for (int j = 0; j <= la; j++) dp[i][j] = dp[i-2][j];
for (int j = 0; j <= la; )
{
if (dp[i-1][j])
{
int k = j;
while (a[k] == a[j])
{
dp[i][k] = 1;
k++;
}
j = k;
}
else j++; }
}
else
{
for (int j = 1; j <= la; j++)
if (dp[i-1][j-1] && a[j] == b[i])
dp[i][j] = 1;
}
}
if (dp[lb][la]) puts("yes");
else puts("no");
}
}
HDU 6170 - Two strings | 2017 ZJUT Multi-University Training 9的更多相关文章
- 2017多校第9场 HDU 6170 Two strings DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6170 题意:给了2个字符串,其中第2个字符串包含.和*两种特别字符,问第二个字符串能否和第一个匹配. ...
- hdu 6170 Two strings dp
Two strings Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Prob ...
- HDU 6170 Two strings (dp)
/** * 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6170 * 字符串match, '.'代表匹配任意一个字符,"*" 代表 ...
- HDU 6170 Two strings( DP+字符串匹配)
http://acm.hdu.edu.cn/showproblem.php?pid=6170 题目大意: 给出两个字符串s1和s2(长度小于等于2500). s1是一个正常的包含大小写字母的字符串,s ...
- 2017ACM暑期多校联合训练 - Team 9 1010 HDU 6170 Two strings (dp)
题目链接 Problem Description Giving two strings and you should judge if they are matched. The first stri ...
- HDU 6168 - Numbers | 2017 ZJUT Multi-University Training 9
/* HDU 6168 - Numbers [ 思维 ] | 2017 ZJUT Multi-University Training 9 题意: .... 分析: 全放入multiset 从小到大,慢 ...
- HDU 6162 - Ch’s gift | 2017 ZJUT Multi-University Training 9
/* HDU 6162 - Ch’s gift [ LCA,线段树 ] | 2017 ZJUT Multi-University Training 9 题意: N节点的树,Q组询问 每次询问s,t两节 ...
- 2016 Al-Baath University Training Camp Contest-1
2016 Al-Baath University Training Camp Contest-1 A题:http://codeforces.com/gym/101028/problem/A 题意:比赛 ...
- keras使用多GPU并行训练模型 | keras multi gpu training
本文首发于个人博客https://kezunlin.me/post/95370db7/,欢迎阅读最新内容! keras multi gpu training Guide multi_gpu_model ...
随机推荐
- go 错误
错误 Go 程序使用 error 值来表示错误状态. 与 fmt.Stringer 类似,`error` 类型是一个内建接口: type error interface { Error() strin ...
- PowerBuilder学习笔记之8.5高级窗口控件
1.列表框控件 列表框控件(ListBox).图片列表框控件(PictureListBox).下拉列表框控件(DropDownListBox)以及下拉图片列表框控件(DropDownPictureLi ...
- ArcGIS JS之 applyEdits之后要素符号更新
ArcGIS JS版本 ArcGIS JS 4.11 最近做一个地图服务,通过FeatureLayer.applyEdits()方法,更新唯一值的渲染字段,实现地图渲染根据用户的配置实时更新. 由于A ...
- K-th occurrence HDU - 6704 (SA, 主席树)
大意: 给定串$s$, $q$个询问$(l,r,k)$, 求子串$s[l,r]$的第$k$次出现位置. 本来是个简单签到题, 可惜比赛的时候还没学$SA$...... 好亏啊 相同的子串在$SA$中是 ...
- Consul作为SpringCloud配置中心
一.背景介绍 在分布式系统中动态配置中,可以避免重复重启服务,动态更改服务参数等.一句话非常重要. 另外一篇文章也是这样说的,哈哈. Consul 作为Spring 推荐的分布式调度系统其也具备配置中 ...
- entity-framework-core – 实体框架核心RC2表名称复数
参考地址:https://docs.microsoft.com/zh-cn/ef/core/modeling/relational/tables http://www.voidcn.com/artic ...
- TypeScript入门一:配置TS工作环境
配置手动编译TS文件工作环境 配置webpack自动化打包编译工作环境(后面补充) 一.TypeScript入门学习引言 进入主题之前,首先说明这个系列的博客是我刚刚接触TypeScript的学习笔记 ...
- K2 BPM_规范内部供应链流程,提高企业整体绩效_工作流流程管理
方案背景 随着企业竞争的加剧.顾客需求的多样化以及市场变化的不确定因素增多,企业与企业间的竞争已经逐步转变为供应链与供应链间的竞争.企业只有在内部各业务流程有机统一的状态下,再与外部企业进行融合与协作 ...
- 在pivotal cloud foundry上申请账号和部署应用
Created by Wang, Jerry, last modified on Jul 04, 2016 URL: http://run.pivotal.io/ maintain your mobi ...
- shell 文本处理三剑客之 grep 和 egrep
shell 三剑客之 grep 命令语法格式 grep 参数 案例 显示file中有python的行 grep python file 显示没有python的行,不忽略大小写 grep -v pyth ...