HDU-1950 Bridging signals (nlogn求LIS)
来源:互联网 发布:人脸识别算法 源代码 编辑:程序博客网 时间:2024/05/16 02:27
题目链接:
题目大意:
数据范围:
解题思路:
http://blog.csdn.net/shuangde800/article/details/7474903
另附代码:
#include <cstdio>#include <cstring>#include <cstdlib>#include <cmath>#include <algorithm>using namespace std;typedef long long LL;const int MaxN = 4e4;int T, n;int a[MaxN + 5];int d[MaxN + 5];//d[i]记录长度为i的LIS 的末位元素//若有多个长度相同的LIS,则记录最小的末位元素int len;int bin_search(int x) //查找d数组中第一个大于等于x的位置{ int l = 0, r = len; int mid = 0; int ans = 0; while(l <= r) { mid = (l + r) >> 1; if(d[mid] >= x) ans = mid, r = mid - 1; else l = mid + 1; } return ans;}int main(){ scanf("%d", &T); while(T--) { len = 0; scanf("%d", &n); for(int i = 1; i <= n; i++) scanf("%d", &a[i]); for(int i = 1; i <= n; i++) { if(a[i] > d[len]) d[++len] = a[i]; else { int pos = bin_search(a[i]); d[pos] = a[i]; } } printf("%d\n", len); memset(a, 0, sizeof(a)); memset(d, 0, sizeof(d)); } return 0;}
里面的bin_search()函数,就是找到d数组中第一个大于等于a[i] 的位置(相当于lower_bound),找到之后用a[i] 将那个位置的元素替换。
阅读全文
0 0
- HDU-1950 Bridging signals (nlogn求LIS)
- hdu 1950 Bridging signals【LIS nlogn】
- HDU 1950 Bridging signals(LIS nlogn)
- HDU 1950 Bridging signals(O(nlogn)算法LIS)
- HDOJ 1950 Bridging signals(LIS nlogn)
- HDU 1950 Bridging signals (LIS)
- HDU 1950 - Bridging signals(LIS)
- HDU-1950-Bridging signals【最长上升子序列(LIS)长度的O(nlogn)算法】
- HDU 1950 Bridging signals 最长公共子序列(LIS)nlogn算法实现
- hdoj--1950 Bridging signals(LIS with O(nlogn))
- Poj 1631 && Hdu 1950 Bridging signals【LIS】
- HDU 1950 Bridging signals(LIS)
- HDU 1950 Bridging signals(LIS)
- hdu 1950 Bridging signals (lis)
- HDU Problem 1950 Bridging signals 【LIS】
- 【HDU】-1950-Bridging signals(LIS,模板)
- poj 1631(Bridging signals LIS)nlogn
- hdu1950 Bridging signals (nlogn的lis)
- 爬虫实战之一--python3及pip安装
- POj 2253 Frogger(变相最短路)
- oraclecode常用语句大全
- 关于zookeeper集群的配置问题
- HDU 5137 How Many Maos Does the Guanxi Worth(枚举+最短路径)
- HDU-1950 Bridging signals (nlogn求LIS)
- 告别Dagger2模板代码:DaggerAndroid原理解析
- 验证RA8875的硬件绘图与使用MCU软件绘图的速度差异
- starUML初识
- Ubuntu 16.04开启SSH服务
- loj #2034. 「SDOI2016」排列计数(错排)
- IntelliJ IDEA配置多个JDK
- 数据库驱动类名
- UE4 playerController和GameMode是什么?