当前位置: 首页 > news >正文

【枚举+trie+dfs】CF514 C

Problem - 514C - Codeforces

题意:

 

思路:

其实是trie上dfs的板题

先把字符串插入到字典树中

对于每次询问,都去字典树上dfs

注意到字符集只有3,因此如果发现有不同的字符,去枚举新的字符

Code:

#include <bits/stdc++.h>using i64 = long long;using namespace std;const int N = 4e5 + 10;
const int M = 3e6 + 10;
const int P = 131;string s;int tot = 0;
int tag[N];
int tr[N][30];void insert(string x) {int p = 0;for (int i = 0; i < x.size(); i ++) {int u = x[i] - 'a';if (! tr[p][u]) {tr[p][u] = ++tot;}p = tr[p][u];}tag[p] = 1;
}
bool dfs(int dep, int u, int num) {if (s[dep]) {int v = s[dep] - 'a';if (tr[u][v]) {if (dfs(dep + 1, tr[u][v], num)) return true;}if (!num) {for (int j = 0; j < 3; j ++) {if (j != v && tr[u][j]) {if (dfs(dep + 1, tr[u][j], num + 1)) return true;}}}}else if (tag[u] && num) return true;return false;
}
void solve() {int n,m;cin >> n >> m;for (int i = 1; i <= n; i ++) {cin >> s;insert(s);}for (int i = 1; i <= m; i ++) {cin >> s;if (dfs(0, 0, 0)) {cout << "YES" << "\n";}else {cout << "NO" << "\n";}}
}
signed main(){ios::sync_with_stdio(false);cin.tie(nullptr);int t = 1;//cin >> t;while(t --) {solve();}return 0;
}

http://www.lryc.cn/news/109801.html

相关文章:

  • 【计算机视觉】BLIP:统一理解和生成的自举多模态模型
  • 【Ansible】Ansible自动化运维工具之playbook剧本搭建LNMP架构
  • Spring中的事务
  • 38 非法地址访问的 segment fault 的调试
  • c++中c_str()的用法详解
  • 谈谈关于新能源汽车的话题
  • EventBus 开源库学习(二)
  • 4_Apollo4BlueLite电源管理
  • Pytorch入门学习——快速搭建神经网络、优化器、梯度计算
  • 举例说明typescript的Exclude、Omit、Pick
  • 记录一次Linux环境下遇到“段错误核心已转储”然后利用core文件解决问题的过程
  • WPF中自定义Loading图
  • 用html+javascript打造公文一键排版系统14:为半角和全角字符相互转换功能增加英文字母、阿拉伯数字、标点符号、空格选项
  • 叮咚买菜财报分析:叮咚买菜第二季度财报将低于市场预期
  • 设计模式行为型——中介者模式
  • Vue——formcreate表单设计器自定义组件实现(二)
  • 人脸验证(Face verification) 和 人脸识别(Face recognition) 的区别
  • 前端如何打开钉钉(如何唤起注册表中路径与软件路径不关联的软件)
  • 数据可视化入门指南
  • React 18 响应事件
  • 面试总结-c++
  • Spring(九) - 解惑 spring 嵌套事务.2
  • Android Studio API 33 获取当前连接的WIFI名称
  • ICCV 2023 | 半监督三维目标检测新SOTA:密集匹配和量化补偿
  • python+django+mysql项目实践三(用户管理)
  • Java多线程 | 操作线程的方法详解
  • 【ConcurrentHashMap1.7源码】十分钟带你深入ConcurrentHashMap并发解析
  • 程序框架-事件中心模块-观察者模式
  • 通过AOP的ProceedingJoinPoint获取方法信息
  • 【JavaSE】初步认识类和对象