Luogu P2292 [HNOI2004]L语言】的更多相关文章

P2292 [HNOI2004]L语言 题面 题目描述 标点符号的出现晚于文字的出现,所以以前的语言都是没有标点的.现在你要处理的就是一段没有标点的文章. 一段文章 \(T\) 是由若干小写字母构成.一个单词 \(W\) 也是由若干小写字母构成.一个字典 \(D\) 是若干个单词的集合.我们称一段文章 \(T\) 在某个字典 \(D\) 下是可以被理解的,是指如果文章 \(T\) 可以被分成若干部分,且每一个部分都是字典 \(D\) 中的单词. 例如字典 \(D\) 中包括单词 \(\{'is'…
题目链接 \(Click\) \(Here\) 好久没写\(DP\)了真是水平下降不少,一眼把这个题搞成贪心了,然后一发交上只有\(37\)分\(QwQ\) 这个题好像还可以\(AC\)自动机胡搞?不过这里\(DP\)就已经很简洁易懂易想了.对每一个已经完成完整前缀匹配的点,它可以向更深的地方去找,也可以跳回原点去进行下一个词的匹配.为了避免出现指数级别的计算,跳回原点后就不再考虑分支的可能,而是一路向下找,只要找到有一个可用的情况就记录即可. #include <bits/stdc++.h>…
P2292 [HNOI2004]L语言 题目链接:https://www.luogu.org/problemnew/show/P2292 题目描述 标点符号的出现晚于文字的出现,所以以前的语言都是没有标点的.现在你要处理的就是一段没有标点的文章. 一段文章T是由若干小写字母构成.一个单词W也是由若干小写字母构成.一个字典D是若干个单词的集合.我们称一段文章T在某个字典D下是可以被理解的,是指如果文章T可以被分成若干部分,且每一个部分都是字典D中的单词. 例如字典D中包括单词{‘is’, ‘nam…
2021.11.09 P2292 [HNOI2004]L语言(trie树+AC自动机) https://www.luogu.com.cn/problem/P2292 题意: 标点符号的出现晚于文字的出现,所以以前的语言都是没有标点的.现在你要处理的就是一段没有标点的文章. 一段文章 TT 是由若干小写字母构成.一个单词 WW 也是由若干小写字母构成.一个字典 DD 是若干个单词的集合.我们称一段文章 TT 在某个字典 DD 下是可以被理解的,是指如果文章 TT 可以被分成若干部分,且每一个部分都…
P2292 [HNOI2004] L语言 题目描述 标点符号的出现晚于文字的出现,所以以前的语言都是没有标点的.现在你要处理的就是一段没有标点的文章. 一段文章\(T\)是由若干小写字母构成.一个单词\(W\)也是由若干小写字母构成.一个字典\(D\)是若干个单词的集合.我们称一段文章\(T\)在某个字典\(D\)下是可以被理解的,是指如果文章\(T\)可以被分成若干部分,且每一个部分都是字典\(D\)中的单词. 例如字典\(D\)中包括单词\({'is','name', 'what', 'yo…
1293. [HNOI2004] L语言 ★★★   输入文件:language.in   输出文件:language.out   简单对比时间限制:1 s   内存限制:162 MB [题目描述] 标点符号的出现晚于文字的出现,所以以前的语言都是没有标点的.现在你要处理的就是一段没有标点的文章. 一段文章T是由若干小写字母构成.一个单词W也是由若干小写字母构成.一个字典D是若干个单词的集合.我们称一段文章T在某个字典D下是可以被理解的,是指如果文章T可以被分成若干部分,且每一个部分都是字典D中…
前置芝士:\(Trie\)字典树 这道题,说是AC自动机,实际上一个\(Trie+\)队列轻松搞定. 首先,我们对所有单词建一棵\(Trie\). 然后,定义一个空队列\(Q\),初始时把\(-1\)放进去(因为字符串下标从\(0\)开始,待会儿详细叙述原因). 接着,对于每一篇询问的文章\(T\),进行如下操作: 取出队头元素,假设是\(x\). 更新\(ans=\max(ans,x)\). 从\(T[x+1]\)开始枚举,进行\(Trie\)上的匹配.(这也解释了为什么刚开始要把\(-1\)…
传送门 思路:  毒瘤的字典树! ▲主要分有两个步骤: ① 日常的建树. ② 暴力地求解. ▲日常建树:过于基础,跳过. ▲重点在于如何暴力地求解而不被卡掉(DP?不存在的) 可以利用区间动规的思想,枚举文章的左右端点,判断中间区间的文章是否可以被理解. 文章的长度几乎为 INF ,直接 N2 枚举 1~INF 显然是不可能的. 而看到字典里的单词长度(模式串)长度只有 10 以下,这为暴力枚举提供了一条出路. 先看一段暴力求解的代码: ;j<len;j++)//很暴力的枚举文章的右端点 for…
传送门 建好trie树 当$dp[j]==1$当且仅当存在$dp[k]=1$且$T[k+1,j]==word[i]$ 然后乱搞就行了 //minamoto #include<iostream> #include<cstdio> #include<cstring> using namespace std; ; int n,m,len;char s[N];bool dp[N]; ][],val[],tot; inline void insert(char *s){ ,l=s…
题目描述 标点符号的出现晚于文字的出现,所以以前的语言都是没有标点的.现在你要处理的就是一段没有标点的文章. 一段文章T是由若干小写字母构成.一个单词W也是由若干小写字母构成.一个字典D是若干个单词的集合.我们称一段文章T在某个字典D下是可以被理解的,是指如果文章T可以被分成若干部分,且每一个部分都是字典D中的单词. 例如字典D中包括单词{‘is’, ‘name’, ‘what’, ‘your’},则文章‘whatisyourname’是在字典D下可以被理解的,因为它可以分成4个单词:‘what…