//  类似于lis的求解 就是增加了下标之间的差值要满足大于d 有些不同 好好理解了下还是有点模糊的 以后还得再琢磨琢磨
//  main.c
//  example
//
//  Created by Adam on 15/2/2.
//  Copyright (c) 2015年 Adam. All rights reserved.#include <iostream>
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "algorithm"
#include <queue>
#include <stack>
#define N 100005
#define INF 1<<30
using namespace std;
int dp[N];
int ss[N];
int a[N];
int n, k;int Binary_search(int ans) //二分查找加入该元素 可形成的序列的长度
{int l = 1, r = n;while(l <= r){int mid = (l + r) >> 1;if(ans > ss[mid])l = mid + 1;elser = mid - 1;}return l;
}int main()
{while(scanf("%d%d", &n, &k) != EOF){for(int i = 1; i <= n; i++){scanf("%d", &a[i]);ss[i] = INF;}int ans = 0;for(int i = 1; i <= n; i++){dp[i] =Binary_search(a[i]);ans = max(dp[i], ans);int pos = i - k;   //将下标为pos的元素更新至ss序列中if(pos > 0 && ss[dp[pos]] > a[pos])ss[dp[pos]] = a[pos];}printf("%d\n", ans);}return 0;
}

HDU 4521(dp)相关推荐

  1. HDU 4521 小明系列问题——小明序列 LIS+动态规划

    HDU 4521小明系列问题--小明序列 Time Limit:1000MS    Memory Limit:32768KB    64bit IO Format:%I64d & %I64u ...

  2. HDU 5928 DP 凸包graham

    给出点集,和不大于L长的绳子,问能包裹住的最多点数. 考虑每个点都作为左下角的起点跑一遍极角序求凸包,求的过程中用DP记录当前以j为当前末端为结束的的最小长度,其中一维作为背包的是凸包内侧点的数量.也 ...

  3. hdu 1171 dp(多重背包)

    View Code //hdu 1171 dp(多重背包)//题意:把所有物品的价值尽量分为相等的两份,不能等分的话 //后面那份可以稍小于前面的 //求出价值总和后,令价值的一半为背包容量,让背包尽 ...

  4. hdu 4521(线段树优化dp)

    小明系列问题--小明序列 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Pro ...

  5. HDU 4832(DP+计数问题)

    HDU 4832 Chess 思路:把行列的情况分别dp求出来,然后枚举行用几行.竖用几行,然后相乘累加起来就是答案 代码: #include <stdio.h> #include < ...

  6. hdu 5086(dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5086 题目大意:给出长度为n的数组,然后要求累计里面的每个子串的和. 解题思路:这道题直接枚举肯定不行 ...

  7. hdu 2059(dp)

    龟兔赛跑 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Des ...

  8. HDU 3646 DP + 二分

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=3646 题意:你有N把武器,每把武器可以对敌人造成一定的伤害(et:攻击力500,敌人血量为200,杀死敌人 ...

  9. Hdu 4293 DP

    题意: n个人说自己前面有多少人 后面有多少人 求出说真话人数最多的情况 每个样例有 一个 n 表示n个人 接下来 n 行有a b 表示他前面的人数和后面的人数 思路: 如果已经知道了其中一组的人数~ ...

最新文章

  1. tf.nn.embedding_lookup()的用法
  2. 超好用的Swift 4.0 字符截取快速便捷方法
  3. try-catch-finally中的4个巨坑,老程序员也搞不定!
  4. Microbiome:Kraken2进行16S物种注释又快又准,秒杀QIIME2
  5. android中的Json一
  6. java B2B2C Springboot电子商务平台源码-Feign 基本使用
  7. 实用的人工智能 但数据 Python 速查表
  8. SQL 数据分析常用语句
  9. vscode 推荐premiter_自用VSCode优质插件推荐
  10. iOS学习笔记-自定义过渡动画
  11. 【java】大并发下Timeout waiting for connection from pool 解决方案
  12. springboot2.0版本后配置拦截器会导致静态资源被拦截
  13. [LeetCode] Best Time to Buy and Sell Stock
  14. (二)目前主流的 Java 虚拟机有哪些?
  15. 模拟电路设计经典教材推荐
  16. 【上电即上华为云】华为云openCPU智联模组_Cat.1_MC615-CN-L610-CN_GPS定位器
  17. 苹果电脑重装系统步骤
  18. 超全山东华为天翼网关电信光猫HS8145c超级密码获取
  19. 为啥俺要写博客--凭什么?
  20. el-tree 关键字搜索

热门文章

  1. pytest-xdist:并发执行用例设计(脱坑)
  2. gitlab-runner 注册问题
  3. 信息与计算科学和数据科学与大数据技术哪个好
  4. 好像什么都来得及,又好像什么都来不及的IT普信男
  5. java.net.UnknownHostException: CLOUD-XXXXX-SERVICE 问题错误报错。。。
  6. 交通信号灯故障监视逻辑电路
  7. 工业视觉系统相机和镜头基础知识
  8. 上传文件正常,下载文件查看失败,下载文件大小为0kb
  9. python春节集五福_python 图像处理:一福变五福
  10. 对智慧海洋数据进行数据分析