首页 > 其他分享 >AT2162 题解

AT2162 题解

时间:2022-08-25 00:23:51浏览次数:75  
标签:int 题解 AT2162 len ans 字符串 include 指针

题目传送门

这题可以线性效率过,有位大神用哈希表虐橙题,太恶心厉害了,然而根本不需要。

我使用双指针做这题,同样是线性效率!

两个指针都是从零开始,分别指向两个字符串。

每一次,前缀字符串的那个指针都加一,直到超过范围才跳出。

当指针对应的字符相等时,才给后缀字符串指针加。

显然,这样就是在寻找重叠区域。

满分代码:

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;

int main()
{
	int len;
	string a, b;
	cin >> len >> a >> b;
	//以下便是重点代码。 
	int A = 0, B = 0, ans = len * 2;
	while (true)
	{
		if (A == len) break;
		if (a[A] == b[B]) B++, ans--;
		A++;
	}
	printf("%d\n", ans);  //勿忘祖传换行。
	return 0;
}

首发:2022-02-04 18:06:48

标签:int,题解,AT2162,len,ans,字符串,include,指针
From: https://www.cnblogs.com/liangbowen/p/16622796.html

相关文章

  • AT3620 题解
    题目传送门做题的第一件事就是看范围。注意到范围,想到应该要使用\(O(n\times\logn)\)的办法。进而联想到排序与二分。事实证明的确要使用排序与二分。不说废话......
  • AT3525 题解
    题目传送门小学生又双叒叕来写题解啦!翻了一下大家的思路,怎么都一样?当数量达到\(10^7\)时,题解代码全爆掉!你问为什么,时间效率\(O(n)\)不稳过吗?对,可是空间复杂度呢,显......
  • AT2586 题解
    题目传送门许多人使用栈,然而根本不需要。先读入整个字符串,然后枚举每个字符。如果当前字符是左括号,往后搜,有就匹配并消除。然而消除这个动作太慢了,如果匹配到,只需把它......
  • AT4276 题解
    小学生又来写题解啦!容易想到,范围内七五三数不会很多,因此尝试暴力搜索,即深搜。参数除了当前的数外,还有三个布尔类型的变量分别表示三、五、七有无出现。每次都判断是否为......
  • P8080 题解
    题目传送门小学生又来写题解啦!你可能会认为,能够使用杯座人数的最大值,就是杯座数量。但结合样例一,若杯座数量大于总人数,只能输出总人数。下一个问题是如何计算杯座数量......
  • SP1163 题解
    题目传送门小学生又来写题解啦!本题显然是字符串模拟,认真维护好每个要求即可。首先先判断是情况一还是情况二,如果同时出现,输出报错信息。我们可以用一个函数实现上述功......
  • CF483A 题解
    题目传送门小学生又来写题解啦!刚看到范围,觉得不能枚举。仔细想一下,其实可以,因为第一组解应该离左边界较近,很快可以出答案。所以,我们可以尝试暴力枚举。最大公约数就用......
  • AT278 题解
    题目传送门小学生又双叒叕来写题解啦!我的思路是,先统计招牌与材料包中不同字母的数量。然后,枚举二十六个字母。对于每个字母,用招牌字母数除以材料包字母数,再向上取整。......
  • AT212 题解
    题目传送门小学生又双叒叕来写题解啦!翻了一下大家的代码,都好长好复杂,其实直接模拟就好了。先说一个巨坑:发现坐标与我们平时不同,所以进行修改。写一个函数,函数作用为找......
  • AT1578 题解
    题目传送门小学生又双叒叕来写题解啦!个人认为这题就考你的理解能力,因此,得先把题读懂。寿司就是01或10字符的组合,减少拆开寿司的次数,本质上就是保留完整的寿司。因......