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 ...
随机推荐
- C++中的构造函数与析构函数及组合类的调用
// 构造函数与析构函数及类的组合 #include "stdafx.h"#include <iostream>using namespace std; //枚举enu ...
- Mysql union和union all用法
1: 什么时候用union和union all ? 我们经常会碰到这样的应用,两个表的数据按照一定的查询条件查询出来以后,需要将结果合并到一起显示出来,这个时候 就需要用到union和union ...
- vscode之万里挑一
前置 我们经常在工作区中打开很多项目文件夹,找起来比较麻烦. 步骤
- 题解-AtCoder ARC-083F Collecting Balls
Problem ARC083F 题意概要:给定 \(2n\) 个二维平面上的球,坐标分别为 \((x_i,y_i)\),并给出 \(n\) 个 \(A\)类 机器人 和 \(n\) 个 \(B\)类 ...
- ASCII,UTF-8,Unicode字符串相互转换
#include<string> #include<windows.h> #include<vector> using namespace std; //utf8 ...
- hdu 3974 dfs时间戳+线段树
题意: 一个公司里面每个员工都有一个顶头上司,一旦给某个员工分配任务后,这个员工以及该员工的所有下属都在做该任务. 有若干操作,分配给员工任务以及查询该员工正在执行的任务. 题解: 典型的更新字树的操 ...
- Spring/Spring Boot整合Weblogic JMS实战
本文主要介绍weblogic jms的配置,包括JMS 服务器和JMS 模块(连接工厂.队列.远程 SAF 上下文.SAF 导入目的地.SAF 错误处理)的配置:并在Spring/Spring Boo ...
- Python初识对象
一 楔子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战>的游戏,你就思考呀,人狗作战,那至少需要2个角色,一个是人, 一个是狗,且人和狗都有不同的技能,比如人拿棍打狗, ...
- iOS开发 CGAffineTransform 让图片旋转, 旋转后获得图片旋转的角度
1.让图片旋转 UIImageView *imageView = [[UIImageView alloc]init]; imageView.frame = CGRectMake(50, 50, 200 ...
- 一行命令开启VNC 和windows之间复制粘贴功能
sudo apt install autocutsel 安装完成之后: [注意]中文会乱码!!! 执行以下命令: autocutsel 这个则是后台运行,选择一种即可: autocutsel -f