《算法竞赛入门经典(第2版)》习题3-9 子序列 (All in All, UVa 10340)

《算法竞赛入门经典第2版》题解目录索引 《算法竞赛入门经典第2版》题解目录索引 本文包含紫书的例题和习题分析题解的目录索引和一些建议 紫书刷题进行中,github题解系列点这里 OJ网址点这里 第三章 本章难度不高,可练习基本技巧,如输入输出格式,字符串处理,打表,STL使用,双指针,周期模型处理(循环节),对数降维等知识点,高手可跳过 书中编号 题目编号 标题(题解链接) 分类 备注 例题3-1 UVA272 Tex... 阅读详情

《算法竞赛入门经典(第2版)》习题3-9 子序列 (All in All, UVa 10340)

输入两个字符串s和t,判断是否可以从t中删除0个或多个字符(其他顺序不变),
得到字符串s。例如,abcde可以得到bce,但无法得到dc。
输入:
有若干行,每行包含两个字符串s和t,中间用空格分开,全部输入以EOF结束。
输出:
Yes或No,表示是否可以由t得到s。

样例输入

sequence subsequence
person compression
VERDI vivaVittorioEmanueleReDiItalia
caseDoesMatter CaseDoesMatter

样例输出

Yes
No
Yes
No

分析

遍历s中的每一个字符,在t中寻找匹配,如果匹配,就在t的下一个位置继续开始匹配s中的下一个字符;如果不匹配,则继续在t中向后寻找此字符的匹配。如果t的字符都已经扫描过一遍,而s中的字符还没完成遍历,那么匹配失败,否则成功。

代码

#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <time.h>

char s[100000]; // 数组开小了将会WA,别问我是怎么知道的
char t[100000];

int main()
{
	int i, j, ans=1;
	while((scanf("%s%s", s, t))!=EOF){ // 输入每一组字符串
		for(i=0, j=0; i<strlen(s); i++){ // 检查s中的每一个字符是否都能够在t中找到匹配
			if(j>=strlen(t)){ans=0; break;} // 如果s中的字符还没检查完,t已经扫描到头,说明匹配失败
			else if(s[i]==t[j]) j++; // 匹配成功一个字符,两个下标都增1
			else if(s[i]!=t[j]) {j++; i--;}// 某个字符没有找到,继续在t中寻找这个字符,i--退回,使下一次i++之后仍是这个字符
		}
		if(ans==1 && i==strlen(s)) printf("Yes\n");
		else printf("No\n");
		
		memset(s, 0, 1000); // 清零
		memset(t, 0, 1000); // 清零
		ans = 1; // 还原
	}
	return 0;
}
算法竞赛入门经典(第二版)-刘汝佳-第八章 高效算法设计 习题(18/28) 说明本文是我对第8章28道习题的练习总结,建议配合紫书——《算法竞赛入门经典(第2版)》阅读本文。 另外为了方便做题,我在VOJ上开了一个contest,欢迎一起在上面做:第八章习题contest 如果想直接看某道题,请点开目录后点开相应的题目!!!习题习8-1 UVA 1149 装箱题意 给定N(N≤10^5)个物品的重量Li,背包的容量M,同时要求每个背包最多装两个物品。求至少要多少个背包 阅读详情

相关推荐

联想ThinkPad声卡驱动安装避坑指南:从E470到X1 Carbon的通用解法

本文详细介绍了ThinkPad声卡驱动安装的全流程,从硬件识别到驱动获取、安装技巧及深度排错。涵盖E470到X1 Carbon等不同机型的通用解法,帮助用户解决音频驱动问题,提升使用体验。重点讲解了声音驱动的精准识别和安装策略,确保系统稳定运行。

weixin_29207439的博客 708

子序列

算法设计竞赛 习题3-9 子序列(All in All, UVa 10340) 输入两个字符串s和t,判断是否可以从t中删除0个或多个字符(其他字符顺序不变), 得到字符串s。例如,abcde可以得到bce,但无法得到dc。 分析:题意实则可以转化为在 t字符串中按顺序寻找 s字符串中的字符,则 t字符串个数必须大于 s字符串个数,依次取 s中字符与 t中字符依次比较,用 len来标记比较结果,若...

Anterior_condyle的博客 909

以太网硬件核心:MAC、PHY、MII与交换机原理与实战排查

计算机网络通信的基础依赖于一套完整的硬件协议栈。在OSI模型中,数据链路层和物理层是实现设备间可靠、高效数据传输的基石。其核心原理在于将上层数据包封装成帧,并通过特定的介质访问控制与物理信号转换机制进行传输。这一过程的技术价值在于为上层应用提供了透明、稳定的通信信道,是互联网和所有局域网通信的物理承载。在嵌入式系统、网络设备开发及运维等应用场景中,深入理解底层硬件交互至关重要。本文将聚焦于以太网硬件的两大核心组件:负责逻辑成帧与流量控制的MAC控制器,以及负责数模转换与链路协商的PHY芯片。它们通过MII、

dgqvhtlwq472235338的博客 422

子序列(All in All)

Description 输入两个字符串s和t,判断是否可以从t中删除0个或多个字符(其他字符顺序不变),得到字符串。例如,abcde可以得到bce,但无法得到dc。 input sequence subsequence person compression VERDI vivaVittorioEmanueleReDiItalia caseDoesMatter CaseDoesMatte

sayniceoh的博客 765

从原理到实践:详解双目散斑结构光的生成与优化

本文深入解析了双目散斑结构光的生成原理与优化实践,详细介绍了散斑结构光的抗干扰性、空间编码技术及其在三维视觉中的应用。通过对比不同生成方法和技术路线,提供了参数调优指南和工程实现细节,帮助开发者掌握高效、精准的散斑生成技术。

weixin_42521856的博客 591

RK3566基于Buildroot定制QT开发环境的完整指南

本文详细介绍了如何在RK3566开发板上使用Buildroot定制QT开发环境的完整流程。从基础环境搭建、Buildroot初始配置到QT模块选择与编译验证,提供了实战经验和常见问题解决方案,帮助开发者高效完成嵌入式Linux下的QT开发环境部署。

weixin_26804345的博客 358

子序列C语言

输入两个字符串s和t,判断是否可以从s中删除0个或多个字符(其他字符顺序不变)得到字符串t。分别输入两个字符串s和t,分别占一行。不满足匹配条件,输出。

2301_80289728的博客 201

DDR5内存调优实战:手把手教你搞定Write Leveling Training Mode(附时序图解析)

本文深入解析DDR5内存调优中的Write Leveling Training Mode技术,详细介绍了其核心原理、硬件准备、实战步骤及常见问题解决方案。通过JESD79-5标准定义的反馈机制,帮助硬件工程师精确对齐DQS与CK信号,提升系统稳定性和数据可靠性。附有时序图解析和代码示例,适合DDR5内存系统设计与调试参考。

weixin_29256771的博客 550

输入两个字符串s和t,判断t是否可以通过删除若干字符得到s,例如:“abcsfs”可以删除部分字符得到"bcss"

public static void main ( String[] args ) { boolean b = inIsideString("abcsfs", "bcss"); System.out.println(b); } /** * 输入两个字符串s和t,判断t是否可以通过删除若干字符得到s,例如:“abcsfs”可以删除部...

毅呀毅呀哟 2876

高通camx ThreadManager

m_pCore->AcceptNewJob是将一个Job或者任务插入一个Queue,有一个工作线程循环从Queue中取Job任务执行,执行任务就是回调任务中的callback函数,AcceptNewJob实现。调用AddToPriorityQueue将任务添加到queue任务队列,那么什么时候从这个queue中取任务执行呢?有个线程循环执行DoWork,最终调用checkAndDequeue取任务执行。

GetnextWindow的专栏 435

STM32学习笔记(江协科技)-----OLED显示屏

SSD1306简介:•SSD1306是一款OLED/PLED点阵显示屏的控制器,可以嵌入在屏幕中,用于执行接收数据、显示存储、扫描刷新等任务••驱动接口:128个SEG引脚和64个COM引脚,对应128*64像素点阵显示屏••内置显示存储器(GDDRAM):128*64 bit128*8 ByteSRAM••供电:IC逻辑),VCC=7~15V(面板驱动)••通信接口:8位6800/8080并行接口,3/4线SPI。

lu322f的博客 1062

算法竞赛入门经典(第2版)习题3-9 子序列 All in All UVa10340

第一次提交时报Run time Error,重新检查了字符串对比

archya的专栏 1406

【主题建模】一种基于深度学习的主题建模方法:BERTopic(实战篇)

BERTopic 是基于深度学习的一种主题建模方法。2018 年底,Devlin et al. 提出了 Bidirectional Encoder Representations from Transformers (BERT)。BERT 是一种用于 NLP 的预训练策略,它成功地利用了句子的深层语义信息。

Data · Model · Agent · Repeat 2万+

《算法竞赛入门经典2ndEdition 》习题3-9 子序列(All in All, Uva10340)

刚做完,一开始没AC,主要是到了s的最后一个字符就直接认为Yes了,但是没比较,应该到了s的最后一个字符之后才Yes,这个是当时造成的错误数据与我的程序。

Occupied优快云的博客 690

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

算法竞赛入门经典(第2版)习题3-9 子序列(All in All) Uva10340

C++编写,使用了string类的find方法#include<iostream> #include<string> using namespace std; int main() { string s = "deletealgorihm"; string t = "lgh"; int len = t.size(); int count = 0; int lo

Lawrie的博客 370

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

算法竞赛入门经典(第二版)第三章习题

习题3-1 得分(Score,ACM/ICPC Seoul 2005,UVa1585) 给出一个由O和X组成的串(长度为1~80),统计得分。每个O的得分为目前连续出现的O的个数,X的得分为0。例如,OOXXOXXOOO的得分为1+2+0+0+1+0+0+1+2+3。 #include <stdio.h> #include <string.h> int main() { char ox[100]; int sum = 0, t = 0; scan...

ZacharySong的博客 1995

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

算法竞赛入门经典(第2版) All in All UVa 10340

All in All UVa 10340 ————————————————————————— 题目:UVa10340 ————————————————————————— 思路:将两个字符串逐位比较,pos记录其位置,若pos=字符串s长度则成功。 **Sample Input** sequence subsequence person compression VERDI vivaVittorioEmanueleReDiItalia caseDoesMatter CaseDoesMatter **Sampl

Daniel的博客 266

刘汝佳《算法竞赛入门经典(第二版)》习题(五)

刘汝佳《算法竞赛入门经典(第二版)》第三章习题(3-9~3-12) 习题3-9 子序列(UVa10340) 习题3-10 盒子(ACM/ICPC NEERC 2004,UVa1587) 习题3-11 换低挡位置(ACM/ICPC NEERC 2006,UVa1588) 习题3-12 浮点数(UVa11809)

程序人生 2785

【UVA】 10340 --- All in All

【UVA】 10340 --- All in All You have devised a new encryption technique which encodes a message by inserting between its characters randomly generated strings in a clever way. Because of pending patent...

来日浅谈的博客 471

算法竞赛入门经典(第二版)-刘汝佳-第三章 数组与字符串 例题+习题(17/18)

说明本文是我对第三章题目的练习总结,建议配合紫书——《算法竞赛入门经典(第2版)》阅读本文。 另外为了方便做题,我在VOJ上开了一个contest,欢迎一起在上面做:第三章contest例题例3-1 UVA 272 TeX 中的引号思路这个题主要讲带空格的输入输出处理。我总结了一下,主要有三种方案: 1、用getchar()一个一个字符处理 2、用fgets读入(gets已经过时) 3、用g

梁山伯的专栏 7122

《算法竞赛入门经典》 习题3-9 子序列 (All In All, UVa 10340)

《算法竞赛入门经典》 习题3-9 子序列 (All In All) 输入两个字符串s和t,判断是否可以从t中删除0个或多个字符(其他字符顺序不变),得到字符串s。例如,abcde可以得到bce,但无法得到dc。 #include &amp;amp;amp;lt;stdio.h&amp;amp;amp;gt; #include &amp;amp;amp;lt;string.h&amp;amp;amp;gt; #define maxn 100 int main(){ char

GGYzzX 的博客 305

习题3-9 UVA10340 All in All(13行AC代码)

紫书刷题进行中,题解系列点这里 习题3-9 UVA10340 All in All(13行AC代码) 思路分析 给定字符串s,t,判断s是否为t的子序列。子序列不同于子串 子串:必须相邻,比如s=ab, t=cabafb,t中第2,3位置为连续ab(下标从1开始),即子串s 子序列:可不相邻,再如上例,下标为[2,3]、[3,6]、[2,6]表示的子序列均为s 双指针 本题仅为判定问题...

努力做个书呆儿 342

习题3-9 子序列(All in All,UVa 10340)

原题链接:https://vjudge.net/problem/UVA-10340 分类:字符串 备注:水题 代码如下: #include<stdio.h> #include<string.h> int main(void) { char s[100000], t[100000]; while (scanf("%s%s", s, t) == 2) { int le...

TK_wang_的博客 391

算法竞赛入门经典 习题3-9

UVa10340 All in All 这道题还没有复杂到求公共子序列,可能是因为数据量比较小。 按照最朴素的方法,那就是现在t中顺序找和s[0]相同的,然后再找后边有没有和s[1]相同的,以此类推。如果t中有两个或者多个字符都可以和s中的当前字符匹配,那么靠前的字符一定不会劣于靠后的字符。 #include <iostream> #include <string> us...

RayoNicks的博客 223

【算法竞赛入门经典】习题3-9 子序列(All in All,UVa 10340)

Q You have devised a new encryption technique which encodes a message by inserting between its characters randomly generated strings in a clever way. Because of pending patent issues we will not disc...

happygirlyao的博客 382
上一篇: 《算法竞赛入门经典(第2版)》 习题3-7 DNA序列(DNA Consensus String, ACM/ICPC Seoul 2006, UVa1368)
下一篇: 《算法竞赛入门经典(第2版)》习题3-10 盒子 (Box, ACM/ICPC NEERC 2004, UVa1587)
fiveyes
博客等级 码龄25年 18粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值