POJ 1836 Alignment(DP | LIS)
来源:互联网 发布:eia美国原油最新数据 编辑:程序博客网 时间:2024/05/06 00:07
题意:有一个序列,现在从中去除一些数,使得每个数比左边或右边的所有数都大。
思路:LIS。可以看出最后答案中的序列一定是一个递增或递减或一个递增加一个递减序列组成,所以我们可以预处理出每个位置左边最长上升子序列的长度,和右边最长下降子序列的长度,然后扫一遍求出相邻位置的二者和的最大值就是最后序列中的元素数量。
#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<iostream>#include<algorithm>#include<vector>#include<map>#include<queue>#include<stack>#include<string>#include<map>#include<set>#include<ctime>#define eps 1e-6#define LL long long#define pii pair<int, int>//#pragma comment(linker, "/STACK:1024000000,1024000000")using namespace std;const int MAXN = 1005;const double INF = 10;int n;int le[MAXN], ri[MAXN];double a[MAXN], g[MAXN];int main() { //freopen("input.txt", "r", stdin);while(scanf("%d", &n) == 1) {for(int i = 1; i <= n; i++) scanf("%lf", &a[i]);memset(le, 0, sizeof(le));memset(ri, 0, sizeof(ri));for(int i = 1; i <= n; i++) g[i] = INF;for(int i = 1; i <= n; i++) {int k = lower_bound(g+1, g+n+1, a[i]) - g;le[i] = max(k, le[i-1]);g[k] = a[i];}for(int i = 1; i <= n; i++) g[i] = INF;for(int i = n; i; i--) {int k = lower_bound(g+1, g+n+1, a[i]) - g;ri[i] = max(k, ri[i+1]);g[k] = a[i];}int ans = 0;for(int i = 0; i <= n; i++) ans = max(ans, le[i]+ri[i+1]);cout << n - ans << endl;} return 0;}
0 0
- poj 1836 Alignment(dp,LIS)
- POJ 1836-Alignment(DP/LIS变形)
- POJ 1836 Alignment(DP | LIS)
- POJ 1836 Alignment DP(LIS)
- poj 1836 Alignment (DP LIS)
- POJ 1836 Alignment(DP LIS)
- [POJ 1836]Alignment[DP][LIS]
- POJ 1836 Alignment DP LIS
- POJ 1836 Alignment 双向LIS+DP
- POJ 1836 Alignment(LIS)
- POJ 1836 Alignment( LIS )
- POJ 1836 Alignment (LIS)
- poj 1836 Alignment (LIS变形)
- POJ 1836 Alignment(LIS变形)
- POJ 1836 Alignment (动态规划LIS)
- POJ 1836-Alignment(LIS-士兵列队)
- POJ 1836 Alignment (线性dp LIS的两种姿势)
- POJ 1836--Alignment(LIS,LCS)
- *LeetCode-Palindrome Permutation
- JS学习笔记(02)——节点对象
- CentOS下设置中文编码设置和中文乱码解决
- 标识项目完成状态
- Lumen 配合使用Dingo/Api的问题。
- POJ 1836 Alignment(DP | LIS)
- 数据库事务隔离级别
- 基于HTML5 WebGL实现3D飞机叶轮旋转
- 转载:简单字典转模型
- CF Round #325 Div2 D. Phillip and Trains
- 配流06—frank_wolfe配流算法
- 从0到1
- Ember.js 入门指南——model简介1
- Ember.js 入门指南——model简介2