Approximate Search
题目链接:Gym-101492H
动态规划,应该是比较基础的,可是自己就是不会QAQ....
/* 把使用机会当成“花费” */
# include <iostream>
# include <cstdio>
# include <cstring>
# include <string>
# include <cstdlib>
# include <cmath>
# include <ctime>
# include <climits>
# include <memory>
# include <functional>
# include <algorithm>
# include <bitset>
# include <set>
# include <map>
# include <stack>
# include <vector>
# include <deque>
# include <queue>
# include <iomanip>
# include <utility>
using namespace std; # define lson l,m,rt<<
# define rson r,m+,rt<<|
# define lowbit(x) (x&(-x))
# define lcm(a,b) (a*b/__gcd(a,b))
typedef long long ll;
const ll mod=1e9+;
const int maxn=1e6+;
const double pi=acos(-1.0);
const int eps=1e-; char s[], t[];
int dp[maxn][];
//dp[i][j]表示t[1-i]和t[1-j]能比配需要的最小的k值
int main()
{
int n, m, k;
memset(dp, , sizeof(dp));
cin>>m>>n>>k;
scanf("%s", s+);
scanf("%s", t+); //如果模式串s是空串,则k为0
for(int i=; i<=n; i++ )
dp[i][] = ; for(int i=; i<=n; i++ )//t
{
for(int j=; j<=m; j++ )//s
{
//s中前(j-1)个和t中前(i-1)个匹配后,s[j]和t[i]直接匹配
if( s[j]==t[i] )
dp[i][j] = min(dp[i-][j-], dp[i][j]);//不需要”花费“ //在前面已经匹配的基础上,删掉t[i],此时s[j]依旧没有匹配上,所以是dp[i][j-1],而不是dp[i][j]
dp[i][j-] = min(dp[i][j-], dp[i-][j-]+);
//在前面已经匹配的基础上,增加一个t[i]与s[j]匹配,但由于是虚拟的增加,所以仍是dp[i-1][j],而不是dp[i][j];
dp[i-][j] = min(dp[i-][j], dp[i-][j-]+);
//在前已经匹配的基础上,换t[i]
dp[i][j] = min(dp[i][j], dp[i-][j-]+);
}
} for(int i=; i<=n; i++ )
{
if( dp[i][m]<=k )
{
cout<<'S'<<endl;
return ;
}
}
cout<<'N'<<endl;
return ;
}
Approximate Search的更多相关文章
- Literature Review: Improving Image-Based Localization by Active Correspondence Search
Abstract Input: A query image Source: A point cloud reconstruction of a large scene (有一百多万3D点) Resul ...
- Programming Contest Problem Types
Programming Contest Problem Types Hal Burch conducted an analysis over spring break of 1999 and ...
- USACO Section1.2
section1.1主要包括四道题和两个编程知识介绍.下面将对这6个部分内容进行学习. Your Ride Is Here 这道题没什么难度,读懂题目意思就行:把两个字符串按照题目要求转换成数字,然后 ...
- [DeeplearningAI笔记]序列模型3.3集束搜索
5.3序列模型与注意力机制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.3 集束搜索Beam Search 对于机器翻译来说,给定输入的句子,会返回一个随机的英语翻译结果,但是你想要一 ...
- 牛人的ACM经验 (转)
一:知识点 数据结构: 1,单,双链表及循环链表 2,树的表示与存储,二叉树(概念,遍历)二叉树的 应用(二叉排序树,判定树,博弈 ...
- [C5W3] Sequence Models - Sequence models & Attention mechanism
第三周 序列模型和注意力机制(Sequence models & Attention mechanism) 基础模型(Basic Models) 在这一周,你将会学习 seq2seq(sequ ...
- [C7] Andrew Ng - Sequence Models
About this Course This course will teach you how to build models for natural language, audio, and ot ...
- ACM算法锦集
一:知识点 数据结构: 1,单,双链表及循环链表 2,树的表示与存储,二叉树(概念,遍历)二叉树的 应用(二叉排序树,判定树,博弈树,解答树等) 3,文件操作(从文本文件中读入数据并输出到文本文 件中 ...
- image analogies笔记
Image Analogies 个人学习笔记, 根基尚浅, 免不得颇多纰漏, 望批评指教. 这是一篇2001年的文章, 其核心主要讲了如何将一对图片之间的"转换模式"应用到其他图片 ...
随机推荐
- P2613 【模板】有理数取余 (数论)
题目 P2613 [模板]有理数取余 解析 简单的数论题 发现并没有对小数取余这一说,所以我们把原式化一下, \[(c=\frac{a}{b})\equiv a\times b^{-1}(mod\ p ...
- Commander基本使用
随着NodeJs的不断发展,对于前端来说要做的东西也就更多,Vue脚手架React脚手架等等等一系列的东西都脱颖而出,进入到人们的视野当中,对于这些脚手架工具来讲也只是停留在应用阶段,从来没有想过脚手 ...
- dedecms更换默认编辑器为百度编辑器ueditor
由于体验过ueditor编辑器,再次使用Dedecms编辑器感觉很别扭,所以就有了更换编辑器的想法.操作顺序如下所述: 1.首先,下载ueditor包,官网http://ueditor.baidu.c ...
- printk打印级别
默认级别 # cat /proc/sys/kernel/printk 4 4 1 7 分别是:控制台日志级别.默认的消息日志级别.最低的控制台日志级别和默认的控制台日志级别 举例 # echo 0 & ...
- idea忽略并隐藏.idea文件夹.iml文件不提交到svn
File-->setting-->Editor-->File Types 选中.boringignore,添加*.iml;.idea;即可
- day 04 作业 预科
目录 作业 1.分别列出 数字类型.字符串类型.列表.字典 的 作用.定义方式和使用方法. 数字类型 字符串类型 列表 字典 词云图 作业 1.分别列出 数字类型.字符串类型.列表.字典 的 作用.定 ...
- golang读写文件之Scan和Fprintf
1. 标准输入输出 os提供了标准输入输出: Stdin = NewFile(uintptr(syscall.Stdin), "/dev/stdin") Stdout = NewF ...
- OpenStack核心组件-horizon web 界面管理
1. horizon 介绍 Horizon: Horizon 为 Openstack 提供一个 WEB 前端的管理界面 (UI 服务 )通过 Horizone 所提供的 DashBoard 服务 , ...
- 如何解决IntelliJ idea的maven工程提示的Cannot Resolve Symbol
IDEA无法识别一个类类,将其显示为红色,如果 compile 没有问题.鼠标放上去后显示 “Cannot resolve symbol XXX”,有两种解决方式:(1)点击菜单中的 “File” - ...
- 18、DKN(Deep Knowledge-Aware Network for News Recommendation)---新闻推荐
摘自:https://blog.csdn.net/qq_40006058/article/details/89678866 DKN:Deep Knowledge-Aware Network for N ...