码迷,mamicode.com
首页 >  
搜索关键字:子序列    ( 5133个结果
动态规划LSC——最长公共子序列
动态规划LSC——最长公共子序列 设A="a0,a1,…,am",B="b0,b1,…,bn",且Z="z0,z1,…,zk"为它们的最长公共子序列。不难证明有以下性质: 如果am=bn,则zk=am=bn,且"z0,z1,…,z(k-1)"是"a0,a1,…,a(m-1)"和"b0,b1,…,b(... ...
分类:其他好文   时间:2020-07-16 21:10:41    阅读次数:46
CodeForces 446A. DZY Loves Sequences(最长上升子序列)
题意:给定一个长度为n的序列,可以修改任何一个字符,求修改后最长的单调严格上升子序列(必须是连续的)。 分析:\((1 <= n < 10^5)\),数据范围很大,不能使用$o(n^2)$的算法。所以我们可以从线性角度考虑,一种常见的套路是枚举修改点,然后求最大值。我们只需要分别求出两端的情况即可, ...
分类:其他好文   时间:2020-07-15 23:25:08    阅读次数:90
G Greater and Greater(求满足条件的子序列,bitset用法)
题:https://ac.nowcoder.com/acm/contest/5667/G 题意:给定n个数的数组A,m个数的数组B,问在A中有多少个子数组满足Si>=Bi 分析:我们可以考虑记录合法子数组以数组A中的一个位置代表一个合法子数组(因为长度固定为m); 设bitset 的ans和tmp, ...
分类:其他好文   时间:2020-07-14 16:42:37    阅读次数:289
【Codeforces 1370-D】Odd-Even Subsequence 二分+贪心
D. Odd-Even Subsequence 题意 给出一个数组 a ,让你选择一个 a 的子序列,使得 \(min(max(a_1,a_3,a_5...),max(a_2,a_4,a_6...))\) 最小。 即奇数位置的最大值和偶数位置的最大值 的最小值最小。 思路 其实做这道题我还是很懵逼的 ...
分类:其他好文   时间:2020-07-14 16:37:29    阅读次数:54
674. Longest Continuous Increasing Subsequence
Given an unsorted array of integers, find the length of longest continuous increasing subsequence (subarray). 找最长连续上升子序列 class Solution(object): def f ...
分类:其他好文   时间:2020-07-14 00:26:48    阅读次数:59
第八章小结
排序(重新排列表中的元素,使表中的元素满足关键字递增或递减): 稳定性:设表中有两个元素a,b,其对应关键字x,y,且a在b前面,若排序后,a仍在b前面,则我们说该排序算法是稳定的,否则不稳定 内部排序:值在排序期间元素全部放在内存的排序。 插入排序:每次将一个未排列的元素插入到一个已经排好的子序列 ...
分类:其他好文   时间:2020-07-12 22:27:05    阅读次数:73
数据结构:第八章学习小结
一、本章小结 1.根据时间复杂度的不同,常见的算法可以分为3大类。 1).O(n²) 的排序算法 冒泡排序 简单选择排序 插入排序:直接插入,折半插入 2).O(n log n) 的排序算法 希尔排序 归并排序 快速排序 堆排序 2.根据是否受到待排序对象初始排列影响,可分为 1)受到待排序对象的初 ...
分类:其他好文   时间:2020-07-12 14:30:19    阅读次数:62
LeetCode 392. 判断子序列
判断子序列 题目描述 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符 ...
分类:其他好文   时间:2020-07-12 14:02:24    阅读次数:48
归并排序(Merge sort)
归并排序 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。 作为一种典型的分而治之思想的算法应用,归并排序的实现由两种方法: 自 ...
分类:编程语言   时间:2020-07-12 12:09:18    阅读次数:65
272. 最长公共上升子序列
解法一: f[i][j]表示数列A的前i个和数列B的前j个且以B[i]结尾的最长公共上升子序列 f[i][j]=f[i?1][j] (a[i]≠b[j]) f[i][j]=max(f[i?1][j],f[i?1][t]+1) (a[i]=b[j] 且 1 <= t < j) #include <io ...
分类:其他好文   时间:2020-07-11 16:50:15    阅读次数:45
5133条   上一页 1 ... 10 11 12 13 14 ... 514 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!