codeforces 514C Watto and Mechanism (分段暴力)

codeforces 514C Watto and Mechanism (分段暴力)
题意:

给出一个包含n个单词的字典,给出m个待查询单词,如果单词在有且仅有一个字符不相同的情况下可以在字典里找到,则输出YES,否则输出NO

限制:

0 <= n,m <= 3*10^5; 总字符长度不大于6*10^5

思路:

分段暴力。

以查询单词长度为500分段:

查询单词长度<500则:采用set查询,复杂度为600*500*500=1.5*10^8

查询单词长度>500则:暴力查询,复杂度为600*600*500=1.8*10^8

在复杂度内可以实现。

其实这道题,还有trie树的做法和哈希的做法,不过哈希太看人品了。

时间: 2024-10-09 10:41:41

codeforces 514C Watto and Mechanism (分段暴力)的相关文章

Codeforces 514C Watto and Mechanism(字典树)

题目链接  Watto and Mechanism 题意  给出n个串(相当于字典),然后给出m个询问. 每个询问以字符串的形式给出,你需要改变这个字符串中的任意一个字符 (必须改变且只能改变一个) 如果改变之后可以成为n个串中的一个字符串,则输出YES, 否则输出NO. 字母集合为{a, b, c} 考虑字典树. 首先把n个单词插入字典树中. 询问的时候用dfs,flag表示搜索到当前是否已经改变过一个字符. 如果已经改变过那只能按照当前剩下的字符串一条路查询下去. 否则可以按老字符或新字符进

tries树第一题 codeforces 514C - Watto and Mechanism

题目链接 题意: 输入a个已知字符串和b个待检测字符串.问待检测字符串是否可以由某个已知字符串改变且只改变一个字母得到.可以输出YES,否则NO. 思路: 用trie树储存已知字符串.dfs改变一个字母看能否匹配. #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <string> using namespace std;

Codeforces 514C. Watto and Mechanism解题报告(字典树)

传送门 题意:给你一个字典和一些询问,问你对于每个询问的字符串必须更改一个字符,能否得到字典中的某一个单词. 思路:先构造一颗字典树,然后搜一遍就行了,要注意strlen不能每次都用,常数很大! #include<bits/stdc++.h> #define rep(i,k,n) for(int i=k;i<=n;i++) using namespace std; const int maxn=300005,maxm=600005; int tree[maxm][5],en[maxm];

CodeForces 518C - Watto and Mechanism(模拟)

题意:有n(1 <= n <= 10^5)个应用,每屏有k(1 <= k <= 10^5)个应用,现在有m(1 <= m <= 10^5)个操作,每次操作会使用一个应用(使用时需滑到应用所在的屏),使用后此应用与前边的相邻应用交换位置,退出此应用后会回到初始屏.问这m次操作总的滚动屏幕次数. 模拟即可. #include<cstdio> #include<cstring> #include<cctype> #include<cs

hash+set Codeforces Round #291 (Div. 2) C. Watto and Mechanism

题目传送门 1 /* 2 hash+set:首先把各个字符串的哈希值保存在set容器里,然后对于查询的每一个字符串的每一位进行枚举 3 用set的find函数查找是否存在替换后的字符串,理解后并不难.另外,我想用64位的自然溢出wa了,不清楚 4 */ 5 /************************************************ 6 * Author :Running_Time 7 * Created Time :2015-8-5 13:05:49 8 * File N

Watto and Mechanism Codeforces Round #291 (Div. 2)

C. Watto and Mechanism time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standard output Watto, the owner of a spare parts store, has recently got an order for the mechanism that can process strings in a ce

C. Watto and Mechanism 字典树 Codeforces Round #291 (Div. 2)

C. Watto and Mechanism time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standard output Watto, the owner of a spare parts store, has recently got an order for the mechanism that can process strings in a ce

Codeforces 442B Kolya and Tandem Repeat(暴力)

题目连接:Codeforces 442B Kolya and Tandem Repeat 题目大意:给出一个字符串,可以再添加n个字符,问说可以找到SS的子串形式,S尽量长. 解题思路:枚举长度和起点判断即可,超过len的可以作为任意值,但是超过len+n就不行了. #include <cstdio> #include <cstring> const int N = 205; int n, len; char s[N]; bool judge (int l) { if (l <

Codeforces Round #224 (Div. 2) D 暴力搜索加记忆化

题意读了半年,英语太渣,题意是摆两个棋子在棋盘上作为起点,但是起点不能在#上,然后按照图的指示开始走, < 左 > 右 ^上 v下,走的时候只能按照图的指示走,如果前方是 #的话,可以走进去,但是 走进去之后便不能再走了,走的途中两个棋子不能相碰,但是最终都走到同一个#里是没事的,并且若是能走 无限步的话 输出 -1, 例如  > < 这样左右左右的走就能无限走,然后问你 两个棋子走的最大步数的和 一开始被输出-1给困住了,因为除了 .> <这样以外  还可以刚好形成一