首页 > 其他分享 >题解 CF518B

题解 CF518B

时间:2022-11-30 09:23:38浏览次数:40  
标签:int 题解 long include CF518B size

题解 CF518B

这个题最暴力的做法就是对于每个 \(s_i\) 都在 b 字符串里扫一遍

但是 \(s.len\leq 2\times 10^5\)

所以肯定过不了

但是我们思考一下,这里的字母对应其实可以看成一种映射对吧

所以我们可以直接用数组或者 STLmap 来做

每次我们扫一遍,找到所有可以直接匹配的

然后再扫两遍,分别处理大小写的情况

这里我们要注意我们已经匹配过的就不能再一次匹配了

#include<cstdio>
#include<string>
#include<iostream>
#include<map>
#define int long long
using namespace std;
string s,t;
const int N=1e6+10;
map<char,int> m;
int ay,y;
int vis[N];
signed main(){
	cin>>s>>t;
	int sl=s.size(),
		tl=t.size();
	for(int i=0;i<tl;i++){
		m[t[i]]++;
	}
	for(int i=0;i<sl;i++){
		if(m[s[i]]){
			m[s[i]]--;
			vis[i]=1;
			y++;
		}
	}
	for(int i=0;i<sl;i++){
		if(m[s[i]+32] && s[i]>='A' && s[i]<='Z' && !vis[i]){
			ay++;
			m[s[i]+32]--;
			vis[i]=1;
		}
	}
	for(int i=0;i<sl;i++){
		if(m[s[i]-32] && s[i]>='a' && s[i]<='z' && !vis[i]){
			ay++;
			m[s[i]-32]--;
			vis[i]=1;
		}
	}
	printf("%lld %lld",y,ay);
	return 0;
}

标签:int,题解,long,include,CF518B,size
From: https://www.cnblogs.com/Tyrue-blog/p/16937414.html

相关文章

  • 题解 CF1719A
    题解CF1719A这个题判断\(n+m\)的奇偶性就可以了。奇数输出Burenka,偶数输出Tonya。#include<cstdio>#include<iostream>#include<cmath>#include<algorithm>......
  • 题解 CF1716B
    题解CF1716B这是一个纯纯的构造题我们要构造n个序列,每个序列他的元素\(a_i\)在第i个位置上的数量都应该比上一个序列的数量并且这种序列只能通过交换两个数字来......
  • 题解 CF1091C
    题解CF1091C这个题乍一看,好像有点像约瑟夫问题,但是写完了之后会发现,就会发现TLE了因为\(n\le10^9\),而且用约瑟夫问题写的话每次都会跳k步,肯定会超时超时代码这里......
  • 题解 CF1080B
    题解CF1080B莫名就卡到了最优解第一,但是代码又长又臭,很明显我代码实现能力太弱了。。。直接开始讲,我都不知道怎么讲分情况讨论如果\(l=r\):我们只需要考虑这个位置......
  • 题解 CF1253B
    题解CF1253B这个题是一个模拟题只需要注意几点:1.同一天同一个人只能进入一次2.同一天同一个人只能出去一次3.一天中一个人没进来就不能出去然后我们用vis数组......
  • 题解 CF1711B
    题解CF1711B这个题说明了,蛋糕的个数只跟好友的对数有关,跟去的人或者是单个的人的个数是无关的(是不是单个的人去没有蛋糕吃)所以我们就要考虑,怎样才能满足吃掉的蛋糕正好......
  • 题解 CF1740D
    CF1740D这个题说实话比\(C\)题要好想/jk,但是我没有在考场上写出来,写出来了但是没交上这个题只需要记录一下终点当前时刻,需要放置下标的棋子(姑且叫它棋子),以及当前棋盘上......
  • Codeforces Round #836 (Div. 2) A-D题解
    比赛链接A、SSeeeeiinnggDDoouubbllee一个字符串的每个字母翻倍,且没有其他限制。所以把字符串正着输一遍,再倒叙输出一遍即可。点击查看代码#include<bits/stdc++.h>......
  • 【题解】 P8287 「DAOI R1」Flame
    题面传送门解决思路本题解是对这篇题解部分内容的补充,讨论的是两种\(\mathcal{O(m\logn)}\)的做法。大体思路都是一样的,先预处理出每一条边需要多少时间后才能连......
  • 2022 ICPC 济南站 L 题题解
    题意给定一棵\(n\)个点有边权的无根树,有\(q\)次询问,每次给定\(l,r\),求\[\min_{l\leu<v\ler}\{\operatorname{dist}(u,v)\}.\]数据范围:\(1\len\le2\times10^5......