会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Chillilly
博客园
首页
新随笔
联系
订阅
管理
2020年4月26日
POJ2955 Brackets
摘要: POJ2955 Brackets 题目链接:https://vjudge.net/problem/POJ-2955 题意:求最长的合法括号子序列长度 思路: 基础的区间DP问题。用f[i][j]表示第i到第j区间内的最长合法括号子序列长度。 首先要进行预处理: 如果当前区间 [l,r] 的左端点和右
阅读全文
posted @ 2020-04-26 19:51 Chillilly
阅读(100)
评论(0)
推荐(0)
2020年4月19日
UVa 10534 Wavio Sequence
摘要: UVa 10534 Wavio Sequence 链接:https://vjudge.net/problem/UVA-10534 思路: 分别列出每个数列的最长上升子序列(LIS)和最长下降子序列(LDS) 注:LIS(i):以a[i]结尾的最长上升子序列长度 LDS:以a[i]为开头的最长下降子序
阅读全文
posted @ 2020-04-19 19:12 Chillilly
阅读(81)
评论(0)
推荐(0)
2020年4月6日
CF1200E Compress Words
摘要: CF1200E Compress Words 题意: 题目意思不难理解。从左到右依次合并字符串。 思路: KMP。每输入一个新的字符串,就用这个新的字符串与当前的答案串进行匹配。由于这道题只需要考虑两个字符串前后缀相匹配的情况,因此不需要从头开始匹配。如果当前的答案串是s,模式串是t,从max(0,
阅读全文
posted @ 2020-04-06 13:25 Chillilly
阅读(153)
评论(0)
推荐(0)
2020年4月2日
CF427D Match & Catch
摘要: 题意:给出两个字符串s1,s2 求这两个字符串的最短公共子串,且这个子串只在s1,s2中各出现一次(重叠的算多次出现)。 思路: 后缀数组的应用 对于多个字符串,常用做法是将多个串连在一起,并且中间插入不同且没出现过的字符隔开。 先将s1,s2串先合并在一起,求出新字符串的后缀数组。如果最短公共子串
阅读全文
posted @ 2020-04-02 18:20 Chillilly
阅读(108)
评论(0)
推荐(0)
2020年3月31日
CF1096D Easy Problem
摘要: 题目链接:https://vjudge.net/problem/CodeForces-1096D 题意:给出一个长度为n的字符串,字符串中的每一个字符都有一个对应的权值。要求删去若干字符,使得新的字符串中不包含子序列“hard”,且删去的字符权值最小。 思路: 字符串DP 我们用dp[i][j] 表
阅读全文
posted @ 2020-03-31 15:32 Chillilly
阅读(105)
评论(0)
推荐(0)
2020年3月21日
UVA - 11019 Matrix Matcher
摘要: UVA - 11019 Matrix Matcher 题意:给出一个N*M的矩阵和一个X*Y的模板矩阵,求模板矩阵在矩阵中的出现次数。 思路: 二维哈希。 类似于求前缀和,假设纵向的base是base1,横向的的base是base2 。 预处理: hash[i][j]=(s[i][j]-'a'+1)
阅读全文
posted @ 2020-03-21 10:41 Chillilly
阅读(159)
评论(0)
推荐(0)
2020年3月15日
CF961F k-substrings
摘要: CF961F k-substrings 题意:给出长度为nn的字符串T,对于每一个k子串,找出最大长度的t,使得t是k子串的前后缀,且t长度为奇数 思路: 从T串的中心开始向两边扩展。首先处理T串中心的k子串:如果T串长度为奇数,ans=-1;如果长度为偶数,ans=1或-1。 接着开始向两边扩展。
阅读全文
posted @ 2020-03-15 17:54 Chillilly
阅读(181)
评论(0)
推荐(0)
CF985F Isomorphic Strings
摘要: CF985F Isomorphic Strings 题意:判断两段字符串是否满足一一映射的关系。 思路: 举例说明这道题的解法。对于每个字符,我们用1表示在该位置出现,用0表示该位置不出现。 例如:abacaba 所有字符的位置序列分别为: a:1010101 b:0101010 c:0001000
阅读全文
posted @ 2020-03-15 17:19 Chillilly
阅读(108)
评论(0)
推荐(0)
2020年3月13日
CF1137B Camp Schedule
摘要: CF1137B Camp Schedule 题意:s和t均由0和1构成。要求重组s串,使得t在s中出现的次数最多。 思路: 统计s中0和1的个数,基于t串构造新的s串。 设j是t的指针,从t串的首位开始依次向后: 如果t[j]对应的数字仍有剩余,输出t[j],否则退出循环,输出剩下的数字。 如果j已
阅读全文
posted @ 2020-03-13 19:36 Chillilly
阅读(172)
评论(0)
推荐(0)
公告