最长公共连续子序列Time Limit:1000msMemory Limit:65536KB64-bit integer IO format:%lld Java class name:Main给你两个序列S1和S2,长度分别是L1,L2 (1 2 #include 3 #include 4 #...
分类:
其他好文 时间:
2014-07-16 21:54:37
阅读次数:
192
题:求一个一维数组arr[i]中的最长递增子序列的长度,如在序列1,-1,2,-3,4,-5,6,-7中,最长递增子序列长度为4,可以是1,2,4,6,也可以是-1,2,4,6。 从后向前分析,很容易想到,第i个元素之前的最长递增子序列的长度要么是1(单独成一个序列), 要么就是第i-1个元素之前的...
分类:
其他好文 时间:
2014-07-16 21:06:57
阅读次数:
160
反恐训练营Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2850Accepted Submission(s): 648Problem Descri...
分类:
其他好文 时间:
2014-07-16 20:30:25
阅读次数:
193
(1)最长递增子序列问题有两种方法:(1)动态规划方法(2)类似二分查找的方法O(nlogn)动态规划方法: 以i结尾的序列的最长递增子序列和其[0, i - 1]“前缀”的最长递增子序列有关,设LIS[i]保存以i结尾的最长递增子序列的长度:若i = 0,则LIS[i] = 1; 若i > 0,....
分类:
其他好文 时间:
2014-07-14 22:05:35
阅读次数:
474
和分治法一样,动态规划也是通过组合子问题的解而解决整个问题的。分治法是指将问题划分为一个一个独立的子问题,递归地求解各个子问题然后合并子问题的解而得到原问题的解。与此不同,动态规划适用于子问题不是相互独立的情况,即各个子问题包含公共的子子问题。在这种情况下,如果用分治法会多做许多不必要的工作,重复求解相同的子子问题。而动态规划将每个子问题的解求解的结果放在一张表中,避免了重复求解。...
分类:
其他好文 时间:
2014-07-12 19:20:19
阅读次数:
258
最长上升子序列中对于数ipt[i],向前遍历,当数ipt[j]小于ipt[i] 则ipt[j]可作为上升序列中ipt[i]的前一个数字
dp[i] = max{ dp[j] + 1 | j
若现在有两个状态a,b 满足dp[a] = dp[b]且 ipt[a]
则对于后面的状态dp[a]更优 因为若ipt[i] > dp[b] 则必然ipt[i] > dp[a],反之若ipt[...
分类:
其他好文 时间:
2014-07-09 09:57:45
阅读次数:
197
http://poj.org/problem?id=4044
大致题意:给出两个班级的成绩,先按降序排序,并且没有成绩相同的。然后求连续的最长公共子序列。输出时,先输出最长公共子序列,然后按个位数字递增的顺序输出,若各位数字一样就按成绩递增。
人数小于30,注意去重,直接暴力即可。
#include
#include
#include
#include
#in...
分类:
其他好文 时间:
2014-07-08 20:59:44
阅读次数:
228
最长单调递增子序列问题
题目:设计一个 O( n ^ 2 )复杂度的算法,找出由 n 个数组成的序列的最长单调递增子序列。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.i...
分类:
其他好文 时间:
2014-07-06 11:30:45
阅读次数:
176
/**
*直接插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。
*设数组为unsorted[0…n-1]。
*1. 初始时,unsorted[0]自成1个有序区,无序区为unsorted[1..n-1]。令i=1
*2. 将unsorted[i]并入当前的...
分类:
其他好文 时间:
2014-07-06 00:26:13
阅读次数:
265
/**希尔排序的实质就是分组插入排序,该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。
*该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很高的,...
分类:
其他好文 时间:
2014-07-05 23:26:18
阅读次数:
210