随笔分类 - 字符串
摘要:设$dp[i][j]$表示文本串的前$j$个字符匹配了模式串第$i$个通配符(包括这个通配符)前面的所有字符,值为$0$代表不能,值为$1$代表可以 那么,显然有两种转移:第$i+1$个通配符是'\(*\)'或者'\(?\)' 转移的条件,是从第$j+1$个字符开始的一段字符串可以与第$i$个和第$
阅读全文
摘要:题目链接 题目大意 有一个字符串和$m$个操作,每个操作都有一定的代价,判断是否能通过一系列操作使该字符串变成回文串。并求出最小代价。 分析 \(Floyed\) 给出这些操作,会发现有些操作是完全没有用的(因为有更好的组合可以达到此目的),所以我们可以先跑一遍$Floyed$,求出这26个字母与空
阅读全文
摘要:看还没有人发记搜的题解,赶紧来~~水~~发一篇 我们定义 为区间 内最少添加几个括号才能把这个串变成正规括号序列。 考虑四种情况 1. 不存在这种子串,返回 2. 子串长度为 无论是 都是要消耗1的,返回 3. 那么返回的是DP(i+1,j 1) 4. 其他情况,枚举断点,详见代码 至于输出嘛...
阅读全文
摘要:因为有8个字符,所以可得出每一年只有一个回文日期。 因此只要判断每一年就行了。 做法: 我们先把年倒过来,例如2018年就倒为8102,就得出8102就是回文日期的后四个字符,我们只要判断一下有没有这个月份和这个日期。 具体做法看AC代码 cpp include using namespace st
阅读全文
摘要:先用一个字符数组存每行的座位情况(字符变量也可以) 接下来用另一个数组存最后的座位情况 好了,看代码 cpp include using namespace std; bool t=false;//是否存在这种座位 int main() { int n; char c[6]; char cc[101
阅读全文