挑几道有意思的讲讲 E 考虑一种集合表示的方法,自然的想到单调不降序列 自然的会想到从前填数,但这样要记录序列之和,序列末,序列长,显然TLE 考虑另一种一一对应的生成方式,初始$k$长度全$0$,然后每次将一个后缀全$+1$,选择的后缀长度单调不降 考虑$+1$产生的增量,这与后缀和相关,记录一下 ...
分类:
其他好文 时间:
2020-06-14 12:51:20
阅读次数:
55
转自:https://www.cnblogs.com/xionghj/p/4443891.html 1 字符串基础 字符串是一种重要的数据类型,有零个或多个字符组成的有限串行。 定义子串: 串中任意个连续的字符组成的子序列,并规定空串是任意串的子串,任意串也是其自身的子串,如字符串"adereegf ...
分类:
编程语言 时间:
2020-06-13 21:03:40
阅读次数:
56
题意: 我们定义TM序列为如下形式的布尔序列: $T_0 = 0$; $T_{2n}=T_n$; $T_{2n+1}=1-T_n$。 TM序列是一个无限长度的序列,它有很多连续子序列。 现在给定一个布尔序列S和一个非负整数k,请统计一下一共有多少种TM序列的连续子序列T满足: S是T的前缀; T是由 ...
分类:
其他好文 时间:
2020-06-13 17:22:17
阅读次数:
73
## 最长公共子序列 Longest common subsquence # s1 = "a b d a c e" # s2 = "b a b c e" # LCS = ["abce", "abce"] # 长度4 ## 1 brute force ## 递归解法 从单个字符解决问题 某位置处若两字 ...
分类:
其他好文 时间:
2020-06-13 13:20:17
阅读次数:
58
题目 https://www.luogu.com.cn/problem/P1020 题目分析 系统最多能拦截的导弹数量就是这个序列的最长不上升子序列;而需要的系统数量就是这个序列的最长不下降子序列 方法一:使用贪心+二分(https://www.cnblogs.com/Jason66661010/p ...
分类:
其他好文 时间:
2020-06-13 12:48:24
阅读次数:
60
Week10(线性DP)拿数问题、LIS&LCS 思路分析: LIS(longest increasing subsequence)最长上升子序列,意思是一个序列中递增的序列最大个数。首先要理解子串和子序列的概念。 (1)字符子串指的是字符串中连续的n个字符,如abcdefg中,ab,cde,fg等 ...
分类:
其他好文 时间:
2020-06-13 11:03:25
阅读次数:
60
##LIS(最长上升子序列) LIS是动态规划里面的一个基础的问题,接下来我们讨论一下它的求法。 ###解一:暴力枚举 我们需要求的是不下降的子序列,所以朴素的想法,当我们面临a[i]的状态,我们可以从a[1]开始枚举元素,每次去判断这个元素是否小于a[i],如果小于那我们就可以更新dp[i]的值为 ...
分类:
其他好文 时间:
2020-06-12 20:29:43
阅读次数:
55
这两天正在忙实习找工作,晚上就抽时间写写算法,放松一下子 一、题目 和谐数组是指一个数组里元素的最大值和最小值之间的差别正好是1。 现在,给定一个整数数组,你需要在所有可能的子序列中找到最长的和谐子序列的长度。 示例 1: 输入: [1,3,2,2,5,2,3,7]输出: 5原因: 最长的和谐数组是 ...
分类:
编程语言 时间:
2020-06-11 21:26:35
阅读次数:
56
题目描述 给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入: [10,9,2,5,3,7,101,18]输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明: 可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为 ...
分类:
其他好文 时间:
2020-06-08 23:40:28
阅读次数:
71
class Solution(object): def isSubsequence(self, s, t): """ :type s: str :type t: str :rtype: bool """ if len(s) > len(t): return False elif len(s) == ...
分类:
其他好文 时间:
2020-06-08 14:51:19
阅读次数:
47