最长上升子序列
来源:互联网 发布:java怎么获取当前时间 编辑:程序博客网 时间:2024/06/05 04:23
import java.io.BufferedInputStream;import java.io.PrintWriter;import java.io.StreamTokenizer;import java.util.ArrayList;import java.util.Arrays;import java.util.HashMap;import java.util.Scanner;public class Main{ public static void main(String[] args) throws Exception{ StreamTokenizer cin = new StreamTokenizer(new BufferedInputStream(System.in)); PrintWriter cout = new PrintWriter(System.out); int[] dp = new int[100008] ; int top ; while(cin.nextToken() != cin.TT_EOF){ int n = (int) cin.nval ; top = 0 ; cin.nextToken() ; dp[++top] = (int) cin.nval ; for(int i = 1 ; i < n ; i++){ cin.nextToken() ; int x = (int) cin.nval ; if(x > dp[top]) dp[++top] = x ; else{ int l = 1 , r = top , m , k = -1 ; while(l <= r){ m = (l + r) >> 1 ; if(dp[m] >= x){ r = m - 1 ; k = m ; } else l = m + 1 ; } dp[k] = x ; } } cout.println(top) ; // cout.flush() ; } cout.flush() ; } }
0 0
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- neo4j介绍
- UML类图
- C++ 移位运算与进制转换 浅析
- CC2530定时器T1产生PWM
- LintCode-编辑距离
- 最长上升子序列
- 2
- 我和opencv 8 最大类间方差法
- 《克里希那那穆提-人生中不可不想的事》读书笔记
- 华为机试—求数的平方根立方根
- Mongodb启动命令mongod参数说明
- hive UDF 自定函数
- 《编程之美》1.2 中国象棋将帅问题 学习笔记
- Java BIO、NIO、AIO 学习