博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最长上升子序列(DP+模板)
阅读量:4578 次
发布时间:2019-06-08

本文共 725 字,大约阅读时间需要 2 分钟。

题目链接:


题目大意:

有两个不可描述的线段,每个上面有 n 个接口,现在给定了一个连接,求如果减去一些连接的话,最大的不交叉连接个数是多少。


解题过程:

省赛选拔赛的题,英文题面太长直接没看。

理解题意后挺简单的,只要找到规律。


题目分析:

要求最大的不交叉,可以找到一个规律,就是求不递减子序列,不过这里用 O(n^2) 的会超时,所以用了一个 O(nlongn) 的模板。

AC代码:

#include
#include
#include
using namespace std;int dp[40000+100];int main() { int T; scanf("%d", &T); while (T--) { int n, ans = 0, t; scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d", &t); if (!ans || t >= dp[ans-1]) dp[ans++] = t; else dp[lower_bound(dp, dp+ans, t)-dp] = t; } printf("%d\n", ans); }}

转载于:https://www.cnblogs.com/ACMFish/p/7222850.html

你可能感兴趣的文章
2019.7.4 打卡第五天
查看>>
opencv学习之路(11)、图像几何变换
查看>>
day06数据类型----元组、字典、集合
查看>>
while循环(break、continue)
查看>>
luogu P4137 Rmq Problem / mex 主席树 + 思维
查看>>
C++编程思想,几个宏的用法:
查看>>
j-3. foreach ,for of ,for in-------待续
查看>>
数据仓库系列4-范式2
查看>>
Docker: docker container常用命令实战(2)-数据持久化
查看>>
C#编写自动关机程序复习的知识
查看>>
bzoj 1131 [POI2008]Sta 树形dp 转移根模板题
查看>>
Yahoo!网站性能最佳体验的34条黄金守则——服务器
查看>>
国内4G频段划分
查看>>
20120104登陆与改密码
查看>>
How Does Caching Work in AFNetworking? : AFImageCache & NSUrlCache Explained
查看>>
UITableViewCell背景色.选中背景色,分割线,字体颜色设置
查看>>
MyBatis笔记一:GettingStart
查看>>
查找不同的木棍
查看>>
面试题:顺时针打印矩阵
查看>>
DataSet、DataTable、DataRow、DataColumn区别及使用实例
查看>>