首页 > TAG信息列表 > slen

P1659 [国家集训队]拉拉队排练

求字符串的奇数长回文子串中前 \(k\) 长的大小之积 \(mod\) 19930726。 \(k\leq 10^{12},|S|\leq 10^6\)。 不插入#跑一遍马拉车得到长度为奇数的回文串,用数组 \(k\) 表示有 \(k[i]\) 种回文串长度为 \(i\) 的子串。由于长度为 \(i\) 的串一定是长度为 \(i-2\) 的串,所以用后缀和

P3501 [POI2010]ANT-Antisymmetry

定义一个01串是反对称子串当将原串取反后和原串一样。求串的反对称子串个数。\(|S|\leq 5\times 10^5\) 。 设 \(s[i],s[j]\) 是反对称子串中对应的字符 1.若子串长度为奇数,则存在 \(i=j\) 的一组情况,又 \(s[i]\) 取反 \(==s[j]\) 所以矛盾 2.子串长度为偶数, \(s[i]\) 取反 \(==s

P3426 [POI2005]SZA-Template

对于字符串刻印章,使每个字符都能被印出来,并且不能印上其他字符。求印章最短长度。 \(|S|\leq 5\times 10^5\)。 看到题目第一感觉是KMP,但具体实现很费脑筋。 先举个例子: 1 2 3 4 5 6 7 8 9 10 11 12 13 s[i] a b a b b a b a b b a b a nxt[i] 0 0 1 2 0 1 2 3 4 5 6 7

CF808G Anthem of Berland

给定 \(s\) 和 \(t\) ,其中 \(s\) 中有 \(k\) 个 ? ,求 \(s\) 补齐 ? 后匹配 \(t\) 的最大次数。 \(|s|\times |t|\leq 10^7\)。 先用一组数据 \(HACK\) 掉贪心做法: (贪心只能过样例) a?ba aba 正确输出 \(1\) 考虑正确做法,题目中给出 \(|t|\times|s|\leq10^7\) ,暗示 \(O(|t||s|)\)

leetcode_409. 最长回文串

给定一个包含大写字母和小写字母的字符串 s ,返回 通过这些字母构造成的 最长的回文串 。 在构造过程中,请注意 区分大小写 。比如 "Aa" 不能当做一个回文字符串。   示例 1: 输入:s = "abccccdd"输出:7解释:我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。 int lon

leetcode_844. 比较含退格的字符串

给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true 。# 代表退格字符。 注意:如果对空文本输入退格字符,文本继续为空。   示例 1: 输入:s = "ab#c", t = "ad#c"输出:true解释:s 和 t 都会变成 "ac"。示例 2: 输入:s = "ab##", t = "c#d#"输出:true解释:s

LeetCode 打卡 Day9 — 最长回文子串

1. 题目 2. 解答 2.1 解 :动态规划 1)P(i,j) :布尔类型,表示 i 到 j 为回文字符串 2)S(i) :第 i 个字符 3)状态转移方程和边界条件分别如下 (1)状态转移方程:P(i,j) = P(i+1,j-1) [S(i) == S(j)] (2)边界条件:P(i,i) 和 P(i,i+1) func longestPalindrome(s string) string { var slen i

刷题-力扣-面试题 01.06. 字符串压缩

题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/compress-string-lcci 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目描述 字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为

6-3字符指针 查找子串

互相学习,欢迎提出更好的方法 本题要求实现一个字符串查找的简单函数。 函数接口定义: char *search( char *s, char *t ); 函数search在字符串s中查找子串t,返回子串t在s中的首地址。若未找到,则返回NULL。 #include <stdio.h> #define MAXS 30 char *search(char *s, char *t); vo

整数与字符串转换

在处理流水号时,一般需要把对应的整数转换为相应位数的字符串。 /// <summary> /// 把整数转换为指定位数的字符串 /// </summary> /// <param name="slen">位数(这里允许最大32位)</param> /// <param name="maxSN">整数</param>

刷题-力扣-434. 字符串中的单词数

434. 字符串中的单词数 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/number-of-segments-in-a-string 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目描述 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。 请注意

P4302 [SCOI2003]字符串折叠

对于字符串的区间dp 寻找叠加后的最小值 其中叠加转化后的括号和数字均算为字符串长度 唯一的难度就是去想到怎样判断字符串是否可以折叠 我们可以只判断一个区间中整个字符串是否可以完全折叠为一个 其他的直接相加即可 题目链接 题目思路 我们用f[i][j]来表示从i到j处理后

dedecms字符串截取函数怎么用

dedecms 的cn_substr_utf8字符串截取函数商榷 在phpsir看到的这篇文章,主要是说下dedecms 的cn_substr_utf8函数好像有些问题,研究dedecms的朋友可以看下 在dedecms里面 cn_substr_utf8 函数是这样的 代码如下: 01/** 02* utf-8中文截取,单字节截取模式 03* 04* @access public 05

【Leetcode】5. 最长回文子串

文章目录 一. 题目信息1. 描述2. 示例 二. 解法1. 动态规划①. 复杂度分析②. c++解法 一. 题目信息 1. 描述 给你一个字符串 s,找到 s 中最长的回文子串。 题目链接:https://leetcode-cn.com/problems/longest-palindromic-substring/ 2. 示例 示例 1: 输入:s = "babad"

字符串匹配和KMP模式匹配(没太学懂,暂时不写)

//字符串匹配 int stringMatching(string longstr, string smallstr){ int lLen = longstr.size(), sLen = smallstr.size(); for (int i = 0; i < lLen - sLen; ++i) { for (int j = 0; j < sLen; ++j) { if (longstr[i + j] != smallstr[j]) { break; } i

刷题-力扣-392

392. 判断子序列 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/is-subsequence/ 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目描述 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可

编程艺术 - 第二章 第一节、俩个字符串是否包含

题目 假设这有一个各种字母组成的字符串,假设这还有另外一个字符串,而且这个字符串里的字 母数相对少一些。从算法是讲,什么方法能最快的查出所有小字符串里的字母在大字符串里 都有? 比如,如果是下面两个字符串: String 1: ABCDEFGHLMNOPQRS String 2: DCGSRQPOM 答案是 true,所有

ansi utf8 unicode 三者之间相互转换

转载地址:https://www.jianshu.com/p/1d54f59f8785 1 #include <iostream> 2 #include <string> 3 #include <fstream> 4 5 using std::string; 6 using namespace std; 7 8 wchar_t* AnsiToUnicode(char *sAnsi) 9 { 10 11 //ansi to unicode

拒绝懒惰day16

终于写出来昨天的LeetCode题了: 看了题解distance实在是太妙了! C++滑动窗口 解题思路 此处撰写解题思路 代码 class Solution { public static String minWindow(String s, String t) { int minL = 0, minR = s.length()+1,l = 0, r = 0, slen = s.length(), tlen =

[LeetCode] 392. 判断子序列 ☆(动态规划)

https://leetcode-cn.com/problems/is-subsequence/solution/java-dp-by-zxy0917-5/ 描述 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。 字符串的一个子序列是原始字

leetcode Z 字形变换 golang版本

题目 将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下: L C I R E T O E S I I G E D H N 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”