博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ1816:Wild Words——题解
阅读量:6068 次
发布时间:2019-06-20

本文共 813 字,大约阅读时间需要 2 分钟。

比较麻烦的trie。

首先你需要选择针对n还是m建立trie,这里我选择了针对n。

那么就需要面临卡空间的问题。

这里提供了一种链式前向星的方法能够当你不会指针trie的时候卡过空间。(做法看代码吧)

然后针对m进行在trie上的dfs即可。

对于相同字符或?来说,trie下移1位,匹配串移动1位。

对于*来说,trie下移,匹配串移动0~长度位。

(合计这道题就难在模拟上了)

 

#include
#include
#include
#include
using namespace std;const int maxn=600001;char s[21];struct node{ char se; int to; int nxt; vector
ed;}edge[maxn];int head[maxn],cnt=0,cnt1=1;void add(int u,char c){ cnt++;cnt1++; edge[cnt].se=c; edge[cnt].to=cnt1; edge[cnt].nxt=head[u]; head[u]=cnt; return;}void insert(int k){ int u=1; int l=strlen(s); for(int i=0;i
ans;int l;void check(int u,int k,int p){ if(k==l){ if(!edge[p].ed.empty()){ for(int i=0;i

 

转载于:https://www.cnblogs.com/luyouqi233/p/7859317.html

你可能感兴趣的文章
阿里巴巴曾鸣:数据时代来临
查看>>
CI框架初探
查看>>
腾讯QQ企业邮箱POP3/SMTP设置
查看>>
稳态可压Navier-Stokes方程组在Dirichlet边界下的解的存在性
查看>>
查询SQLSERVER执行过的SQL记录
查看>>
SaltStack运行任务卡住了,怎么办?
查看>>
hdu-----(3746)Cyclic Nacklace(kmp)
查看>>
SGU 405 Totalizator
查看>>
关于SD卡
查看>>
理想非常丰满,现实非常骨感——致WiFi通话
查看>>
[C++] 几行代码生成漂亮图片,数学家就是牛!
查看>>
关于line box,inline box,line-height,vertical-align之间的关系
查看>>
对PAR DAR SAR的理解
查看>>
【BZOJ】1692 & 1640: [Usaco2007 Dec]队列变换(后缀数组+贪心)
查看>>
js Date日期对象的扩展
查看>>
js~this的陷阱
查看>>
树莓派学习笔记(2):常用linux命令
查看>>
[solr] - 数据库导入
查看>>
六度问题(转载)
查看>>
快速构建Windows 8风格应用4-FlipView数据控件
查看>>