首页 > 其他分享 >CF1070H 题解

CF1070H 题解

时间:2024-01-28 21:58:33浏览次数:42  
标签:子串 map int 题解 CF1070H long 字符串

思路

我们第一眼看题就发现每个字符串的长度在只有 \(8\)。

我们需要判断的是某个字符串是不是前面字符串的子串,因为长度太小,所以可以把字符串的每一个子串放到 map 里,再用一个 map 判断一个子串是否在当前字符串出现过,出现过就不能重复记。最后在用一个 map 记录一下每个子串对应哪个字符串,然后这题就切了。

AC CODE


#include<bits/stdc++.h>
using namespace std;
#define int unsigned long long
map<string,int>mp;
map<string,string>mp2;
map<string,bool>mp3;
int n,m;
signed main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		string s;
		cin>>s;
		mp3.clear();
		for(int i=0;i<s.size();i++){
			string tmp="";
			for(int j=i;j<s.size();j++){
				tmp+=s[j];
				if(!mp3[tmp]){
					mp3[tmp]=1;
					mp[tmp]++;
					mp2[tmp]=s;
				}
			}
		}
	}
	cin>>m;
	for(int i=1;i<=m;i++){
		string s;
		cin>>s;
		if(!mp[s]){
			cout<<"0 -\n";
		}
		else{
			cout<<mp[s]<<" "<<mp2[s]<<'\n';
		}
	}
	return 0;
}

标签:子串,map,int,题解,CF1070H,long,字符串
From: https://www.cnblogs.com/xdh2012/p/17993478

相关文章

  • CF1472F 题解
    前言只要题目给了图,你就要画图。思路首先,我们要明确一点:一个矩形,如果里面不存在任何被覆盖的方格,那么这个矩形是绝对可以被覆盖的。如果现在有一个点被覆盖了。那么必定要有一个长方形从这个点下方往后。然后继续在上方接长方形继续往后。直到出现了一个新节点被覆盖。......
  • 第一周题解
    第一周周报这一周是寒假训练的第一周,训练内容主要就是做牛客上的题单还有比赛,牛客上的题单还是比较痛苦的,因为牛客压根看不了测试用例,导致我事后想知道错的例子是什么都看不了。做第一题第二题还有倒数第三题有一两个例子一直都过不去。检查了很久的代码,一直是差一两个例子,就老是......
  • P4145 上帝造题的七分钟 2 / 花神游历各国 题解
    题目链接:上帝造题的七分钟2/花神游历各国差不多的题:[YnoiEasyRound2023]TEST_69注意到对某个点来说暴力单点即为反复的:\(x=\sqrt{x}\),最终为\(1\),根据\(master\)主定理可知,跟\(veb\)树分析差不多的,复杂度为:\(O(\log{\log{V_{max}}})\)。不懂的可以去学学这篇文章。那......
  • 洛谷题解-[ARC001B] リモコン
    https://www.luogu.com.cn/problem/AT_arc001_2题目描述 输入格式无输出格式无题意翻译题目描述:高桥君要调整空调的设定温度。现在的设定温度是A度,而他想调到B度。空调遥控器按一次可以:上调或下调1度上调或下调5度上调或下调10度高桥君想求出从A调到B度的最小......
  • P1197 [JSOI2008] 星球大战 题解
    P1197[JSOI2008]星球大战题解题目链接P1197[JSOI2008]星球大战简要思路看完题目的第一印象是——连通性。图论中判断连通性很容易想到并查集,但是并查集只支持合并和查询,并不支持删除,怎么办呢?考虑逆向思维,把删点的过程倒过来,看成加点和连边,那么此题就可以非常方便的用并......
  • 洛谷题解-P1938 [USACO09NOV] Job Hunt S
    https://www.luogu.com.cn/problem/P1938题目描述Bessieisrunningoutofmoneyandissearchingforjobs.FarmerJohnknowsthisandwantsthecowstotravelaroundsohehasimposedarulethathiscowscanonlymakeD(1<=D<=1,000)dollarsinac......
  • ATtokiomarine2020E O(rand) 题解
    题目链接点击打开链接题目解法首先,\(S\)一定要是\(T\)的子集先筛出符合条件的\(a_i\),即满足\(S\subseteqa_i\subseteqT\)令\(dif\)为\(T-S\),定义数\(x\)覆盖第\(y\)位为二进制下\(x\)的第\(y\)位为\(1\)现在的问题变成了找到大小\(\lek\)的\(\{a_i\}......
  • 洛谷题解-P2888 [USACO07NOV] Cow Hurdles S (Floyd)
    https://www.luogu.com.cn/problem/P2888题目描述FarmerJohnwantsthecowstoprepareforthecountyjumpingcompetition,soBessieandthegangarepracticingjumpingoverhurdles.Theyaregettingtired,though,sotheywanttobeabletouseaslittleene......
  • ABC338 F Negative Traveling Salesman 题解
    QuestionABC338FNegativeTravelingSalesman给出一个\(N\)个点\(M\)条边的有向图,边权可能为负数,但不可能有负环每经过一条边就要加上这条边的代价求,一条路径经过所有的点,并且要求总代价最小Solution观察到\(N\le20\)自然而然想到状压因为多次经过一条边的代价是......
  • CF1423G Growing flowers题解
    考虑每种颜色的贡献,用总数\(n-k+1\)减去没有贡献到的(极长连续段长度为\(len\)时),贡献为\(\max(len-k+1,0)\),所以考虑用\(\text{ODT}\)维护所有颜色的连续段。具体的,维护一个大的\(ODT\)存储所有连续段,再对每个颜色存储自己的连续段,用\(\text{BIT}\)维护每个长度的极长......