回文子串和子序列哪个更难凑

同一个字符串上,最长回文子串通常比最长回文子序列【0】。

开始练习 →

中心扩展要试多少个中心

第 1 步:以 c 为中心往两边扩 第 2 步:中心 c 本身是回文 第 3 步:两头都是 b:再扩一格 第 4 步:两头都是 a:再扩一格 第 5 步:x 和 y 不同:停 x a b c b a y lo hi 用中心扩展法找最长回文子

开始练习 →

最长的回文子串是哪一段

一个字符串 abcbdcba(8 个字符)。回文就是正着读和倒着读一样。 运行下面这段程序: #include <iostream> #include <string> #include <vector>

开始练习 →

一字之差子串对子序列

一个字符串 abcbdcba(8 个字符)。回文就是正着读和倒着读一样。 左边输出最长回文子串的长度,右边输出最长回文子序列的长度: #include <iostream> #include <string> #in

开始练习 →

自己写中心扩展

一个字符串 abcbdcba(8 个字符)。回文就是正着读和倒着读一样。 c 从 0 数到 2n-2,偶数的 c 落在字符上,奇数的 c 落在缝里。补全往外扩的那两步。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

只试字符位会丢偶数回文

拿 abccba 做对照:它整个就是回文,长度是偶数。把只试字符位的那一版写出来,和正确版一起输出。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

两种做法代价不同

一个字符串 abcbdcba(8 个字符)。回文就是正着读和倒着读一样。 暴力枚举所有子串、和中心扩展,两种做法各试了多少次?结果对得上吗? (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

把子串和子序列一起交出来

一个字符串 abcbdcba(8 个字符)。回文就是正着读和倒着读一样。 两个函数都写好了:一个求最长回文子串(中心扩展),一个求最长回文子序列(区间 DP)。把两个长度一起输出。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

一个模式反复找选哪个

模式固定不变,文本一段接一段地来。最划算的是【0】。

开始练习 →

一次找几十个词选哪个

第 1 步:24 个 a,模式换三种长度 第 2 步:模式长 4 第 3 步:模式长 6 第 4 步:模式长 8 第 5 步:下面一行一动不动 m=4 m=6 m=8 暴力 KMP 84 24 114 24 136 24 一段文本,要同时找

开始练习 →