C. Watto and Mechanism 字典树+dfs

Codeforces C. Watto and Mechanism (字典树+DFS) 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... 阅读详情
题目链接:C. Watto and Mechanism
题目大意:

给出n个字符串 和k此查询,每次查询的字符串,问是否在给出的n个字符串中找到和查询的字符串有且只有一位不同的字符串,找到输出YES,找不到输出NO;

题解:刚刚看到除了暴力别无想法,看了别人的题解说是要用到trie树,就学习了一下trie树,这个大牛讲的不错字典树入门。这题就是用字典树建树后,使用dfs深搜素就能搞定了。

注意点:这题dfs路径一定要搜全,dfs题目逻辑一定要清楚全面啊!wa了好几次了。

#include<iostream>
#include<string>
#include<cstring>
using namespace std;
const int maxn = 300010;
int trie[maxn][26], n, k, tot, rt, vis[maxn];
char s[10000];
bool flag;
void insert()
{
    rt = 0;
    int len = strlen(s);
    for (int i = 0; i < len; ++i)
    {
        int id = s[i] - 'a';
        if (trie[rt][id] == 0)trie[rt][id] = ++tot;
        rt = trie[rt][id];
    }
    vis[rt] = 1; //字符串插入结束
}
bool dfs(int pos, int u, int num)//当前搜素到字符串的第pos位 节点u 不同个数num
{
    if (s[pos]) //字符串还没有结束
    {
        int id = s[pos] - 'a';

        //当前路径正确一直搜素下去
        if (trie[u][id])
        {
            if (dfs(pos + 1, trie[u][id], num))return true;
        }

        //如果还没有出现不同的 可以查看改节点下的子节点是否有其他字母,继续往下搜素
         if (!num)
        {
            for (int i = 0; i < 3; ++i)
            {
                if (trie[u][i]&&i!=id)
                    if (dfs(pos + 1, trie[u][i], num + 1))return true;
            }
        }
    }
    else if (vis[u]&&num==1)return true;

    //所有路径都不对才返回false 只要有一条是正确的 上面都会返回ture
    return false;
}
int main()
{
    cin >> n;
    cin >> k;
    for (int i = 1; i <= n; ++i)
    {
        cin >> s;
        insert();
    }

    for (int i = 1; i <= k; ++i)
    {
        cin >> s;
        flag = dfs(0, 0, 0);
        if (flag)cout << "YES" << endl;
        else cout << "NO"<<endl;
    }
    return 0;
}
Simulink实战:火电机组一次调频与AGC协同控制建模与仿真解析 本文详细解析了如何使用Simulink进行火电机组一次调频与AGC协调控制的建模与仿真。通过系统架构设计、参数设置和模块实现,阐述了如何实现两者的协同控制,确保电网频率稳定。文章提供了实用的建模技巧、参数整定经验和性能评估方法,为电力系统仿真工程师提供了有价值的实践指导。 阅读详情

相关推荐

晶圆测试(Wafer Sort)的核心技术与良率提升策略

晶圆测试(Wafer Sort)是芯片制造中的关键“入学考试”,通过探针台与自动测试设备(ATE)对晶圆上的芯片进行功能与参数测试,筛选不合格芯片以控制成本。本文深入解析了其核心技术,包括自动化视觉系统对准、测试流程优化策略,并探讨如何利用测试数据驱动良率提升,展望了DFT与AI智能测试的未来趋势。

e4f5g6h的博客 514

Codeforces514 C. Watto and Mechanism(字典树上dfs)

题意: 给一个含n个串的字典 m次询问,每次询问给出一个字符串 问字典中是否存在一个串,满足该串与询问串恰好有一个字符不同 所有串只包含a、b、c 数据范围:n,m<=3e5 解法: 解法1: 将给定字典的每个串哈希一下,存下哈希值然后排序 枚举询问串的修改位置和修改字符,然后二分判断字典中是否存在修改之后的串 复杂度O(Llog(n)),其中L是询问串的长度 但是似乎会卡哈希,要用双哈希之类的操作才能过 解法2: 对给定字典建立字典树,用询问串在字典树上dfs即可,修改字符即走与圆串不同的路径 因为

zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz 317

麒麟系统grub被锁怎么办?双密码遗忘救援指南(实测V10 SP3版本)

本文详细介绍了麒麟系统V10 SP3版本在GRUB和root密码双遗忘情况下的救援指南。通过ISO镜像进入救援模式,结合单用户模式操作,实现密码重置与系统权限恢复,特别适用于等保合规环境。

384

Watto and Mechanism - CodeForces 514 C Trie树

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

提比的强行AC 1501

从时序博弈到数据稳定:CS1237驱动中的信号滤波与卡尔曼实践

本文探讨了CS1237高精度ADC驱动在复杂工业环境中的信号处理挑战,重点介绍了一阶滤波与自适应卡尔曼滤波算法的实践应用。通过参数优化和动态调整策略,有效提升了数据稳定性和抗干扰能力,为嵌入式系统在噪声环境下的精密测量提供了可靠解决方案。

rnn9storyteller的博客 862

【gridsample】地平线征程6芯片中gridsample算子的优化与部署实践

本文详细介绍了地平线征程6芯片中gridsample算子的优化与部署实践,重点探讨了PTQ和QAT量化方案在BEV感知任务中的应用。通过双线性插值优化、内存布局调整和混合精度配置等关键技术,显著提升了算子在自动驾驶场景下的性能和精度,为开发者提供了实用的部署指南和调优建议。

zero1的博客 1019

【CodeForces - 514C】Watto and Mechanism(字符串哈希)

题干: 输入n个字符串,然后进行m次询问,每次询问输入一个字符串,问n个字符串中是否存在与当前输入的字符串长度相等,并且刚好有且仅有一个位置的字符不同。存在则输出YES,不存在输出NO。 Examples Input 2 3 aaaaa acacaca aabaa ccacacc caaac Output YES NO NO 解题报告: 刚开始读错题了,还以为需要对于每...

xuanweiace的博客 753

手把手教你用OpenCV+Python实现HALCON级模板匹配(附工业案例代码)

本文详细介绍了如何利用开源计算机视觉库OpenCV和Python,构建媲美HALCON商业软件的工业级模板匹配解决方案。通过分析工业检测的核心挑战,文章提供了从模板预处理、多策略融合匹配到应对尺度与旋转的完整代码实现,并附有连接器引脚检测的实战案例,为工业自动化场景下的高精度视觉检测提供了低成本、高可控性的技术路径。

e3f4g5的博客 282

Watto and Mechanism(字符串hash算法)

Watto, the owner of a spare parts store, has recently got an order for the mechanism that can process strings in a certain way. Initially the memory of the mechanism is filled with n strings. Then the

Twillz的博客 857

电池管理系统(BMS)系列(四)—数据采集之温度

属于BMS系列文章,介绍了电池包温度采集相关方式

zxx52113140的博客 5456

Linux性能调优之CPU时间分布(亲和性、带宽、权重)配置

带宽权重亲和性进程级别Cgroup-v2服务级别systyemd我所渴求的,無非是將心中脫穎語出的本性付諸生活,為何竟如此艱難呢 ------赫尔曼·黑塞《德米安》

山河已无恙 1711

【codeforces 514C】Watto and Mechanism(字典树做法)

【题目链接】:http://codeforces.com/contest/514/problem/C 【题意】 给你n个字符串; 然后给你m个询问;->m个字符串 对于每一个询问字符串 你需要在n个字符串里面找到和它的长度相同,且只有一个位置的字符不同的字符串; 或者告知这是不存在的; 【题解】 写个字典树; 在每一位多了两...

252

零基础入门simulink仿真建模--通信领域的编码与纠错技术--基于Simulink的CRC校验算法仿真建模示例

CRC是一种广泛应用于数字网络和存储设备中的错误检测码。它的基本原理是利用除法运算来产生固定长度的校验位,这些校验位被附加到原始数据之后发送出去。接收端收到数据后,重新计算校验值并与接收到的校验值进行比较,如果两者相同,则认为数据没有错误;否则,表示数据可能已被损坏。发送端:随机比特生成模块 + CRC生成模块。信道:模拟数据传输过程中的潜在错误(可选)。接收端:CRC校验模块 + 错误指示模块。通过本指南,我们介绍了如何基于Simulink搭建一个简单的CRC校验系统模型,并进行了仿真分析。

amy_mhd的博客 727

C. Watto and Mechanism(字典树加dfs)

CF的传送门 题目的意思是给你n个字符串和m个询问,每次询问一个字符串是否可以通过改变其中的一个字母来得到n个字符串中 的任意一个,如果可以输出"YES",否则输出"NO"; 字典树加DFS,首先对所给的字符串建立一颗字典树,然后对于每一个字符串的查询,进行dfs就行,具体看下代码吧! 在这里介绍个讲得不错的字典树博客: http://www.cnblogs.c

xdlove 1552

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

字典树(+DFS)——Watto and Mechanism ( CodeForces 514C )

题目链接: http://codeforces.com/contest/514/problem/C 分析: 题目是先给出n个字符串和m个字符串,对于m个字符串中每一个字符串都可以在n个字符串中找到一个与之匹配(允许由一位字符的差异,但不允许超出或少于)。一看题目,就能想到是用n 个字符串建树,然后再搜索。 题解: 比较难写的是这个DFS函数,先讨论字符串有没有到底,到底后无错误并且之后没有节点

FeBr2的博客 861

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Codeforces 514C Watto and Mechanism (字典树+dfs)

题目链接:http://codeforces.com/problemset/problem/514/C 题意:给出n个模式串,给出m个字符串,问字符串能否通过变换一次成为模式串(必须变换) 思路:利用模式串建立字典树,dfs查询是否有何m个字符串相差一位的模式串(每一个字符都有可能变换,开始写的时候以为只有当前字符不符合才进行变换,无法处理一些情况) #include

csdn364988181的博客 551

coderforce 514C - Watto and Mechanism(字典树+dfs)

题目链接:http://codeforces.com/problemset/problem/514/C题目大意:先输入n个字符串,然后输入m个字符串,寻找n个字符串中有没有字符串满足只有一个字母和m中字符串不同的情况,有就输出YES,否则输出NO。题解:将n个字符串用字典树存进去,然后利用dfs进行搜索。 这里的dfs使用bool好做一些(我一开始使用的void,WA了两次,暂时没有什么好想法,欢

Infinity_Izayoi的博客 421

Codeforces 514C Watto and Mechanism【字典树+Dfs】好题!

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 r

mengxiang000000 714

C. Watto and Mechanism(哈希 | 字典树 + dfs (树上dfs))

seed=17 ,MOD=1e9+9 seed=257,MOD=1e9+7 seed=1009 ,MOD=1e15+37 seed=99959 同一思路,用set判断 双哈希

IsayIwant的博客 454

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

在字典树上进行DFS。

weixin_74754298的博客 662

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

思路:由于字符串长度上限为6*10^5,直接比较十分耗时。所以使用trie进行查找。

ww32cc的博客 701

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

http://codeforces.com/contest/514n个字符串m个询问,判断询问的字符串能否通过修改其中的一个字符使得变成给定的n个字符串中的某一个注意:必须修改一个字符#include<bits/stdc++.h> const int maxnode=6e5+100; const int sigma_size=3; using namespace std; int n,m; int

fsdcyr 914

CodeForces - 514C Watto and Mechanism(字典树)

CodeForces - 514C Watto and Mechanism(字典树) 【vj链接】 【cf链接】 题目 Watto, the owner of a spare parts store, has recently got an order for the mechanism that can process strings in a certain way. Initia...

xuziling_的博客 452

Codeforces 514C . Watto and Mechanism

C. Watto and Mechanism time limit per test3 seconds memory limit per test256 megabytes inputstandard input outputstandard output Watto, the owner of a spare parts store, has recently got an order

nare123的博客 667

CodeForces - 514C Watto and Mechanism hash或字典树

题目链接:https://vjudge.net/contest/407982#problem/K 题意:给你n个字符串,m个询问,问是否给出的n个串中,是否有一个字符串恰好与查询的字符串只有一个位置不同。(字符串只有a,b,c组成)。 思路1(字符串哈希):,a为1,b为2,c为3。将n个串哈希后标记下来,我用的unordered_map。枚举每个位置变为另外两个字符的字符串哈希后,是否已经被标记过?用unsigned long long 会错,不知道为啥。改为long long取mod为1e15+7。

birdmanqin的博客 223

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

每一次AC都是一种感动 810

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; co...

aoke1952的博客 169
上一篇: codeforces#290 B&&510 B Fox And Two Dots (dfs)
下一篇: codeforces 501 C. Misha and Forest (思维)
PinappleMi
博客等级 码龄9年 10粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值