CF1117F. Crisp String

题意

给出表格,表示字母间“相邻”关系
保证给定字符串所有相邻字母“相邻”
删除某种字母时 要保证其两侧字母“相邻”
即删除后还是相邻字母“相邻”的合法字符串
求最短字符长度

难点

如何维护删除一种字母后哪些字母相邻

hint
正难则反

我们可以维护哪些字符不能相邻
假设它的bitmask是T
那么包含T的所有bitmask都不能选
再预处理每一个bitmask对应的字符串长度就okk了
把这些处理出来的复杂度(O(max(nm, 2^{m} m)))

原文地址:https://www.cnblogs.com/hjmmm/p/10486355.html