题意:给出一个数组a,之和为M,从中挑选出一些数组成数组b满足两个条件:

(1) b1≤b2≤…≤bt 
(2) b2−b1≤b3−b2≤⋯≤bt−bt−1

求最大的t。

分析:a数组排序后,由于M<=(1<<22),所以a数组数字种数不超过3000,dp[i][j]表示以i和j结尾的最长串,dp[i][j]=dp[k][i]+1,dp[i][j]具有单调性,满足dp[i][j]的k一定满足dp[i][j+1],复杂度就降到了n^2。

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<queue>
#define pii pair<ll,int>
#define inf (1ll<<60)
#define ll long long
using namespace std;
const int maxn=100005;
int n,M;
int num[5000000];
int rt[3005];
int dp[3005][3005];
int cnt;
int main()
{int t;scanf("%d",&t);int a;while(t--) {memset(num,0,sizeof(num));scanf("%d%d",&n,&M);for(int i=0;i<n;i++) {scanf("%d",&a);num[a]++;}cnt=0;for(int i=1;i<=M;i++) {if(num[i]) {rt[++cnt]=i;}}memset(dp,0,sizeof(dp));int ans=0;for(int i=1;i<=cnt;i++) {dp[i][i]=num[rt[i]];ans=max(ans,dp[i][i]);}for(int i=1;i<=cnt;i++) {int k=i;int tmp=0;for(int j=i+1;j<=cnt;j++) {while(k && rt[i]-rt[k]<=rt[j]-rt[i]) {tmp=max(tmp,dp[k][i]);k--;}dp[i][j]=tmp+1;ans=max(ans,dp[i][j]);}}printf("%d\n",ans);}return 0;
}

hdu5064 Find Sequence 单调性dp相关推荐

  1. [关于决策单调性DP]

    [关于决策单调性DP] [~留个坑以后再填] 1.四边形不等式&凸完全单调性 2.决策单调性 不难发现,其实四边形不等式的充要条件就是w(x,i+1)-w(x,i)关于x单调不增. 然后处理的 ...

  2. Codeforces Beta Round #5 C. Longest Regular Bracket Sequence 栈/dp

    C. Longest Regular Bracket Sequence Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.c ...

  3. 【NOI2009】诗人小G【决策单调性dp】

    传送门 设句子加上空格长度前缀和为sss 转移方程为 fi=min⁡1≤j<i{fj+∣si−sj−L−1∣P}f_i=\min_{1\leq j<i}\{f_j+|s_i-s_j-L-1 ...

  4. Codeforces Round #190 (Div. 1): E. Ciel and Gondolas(决策单调性DP+wqs二分)

    E. Ciel and Gondolas 题意: bzoj5311:https://www.lydsy.com/JudgeOnline/problem.php?id=5311 同一道题目,但是bzoj ...

  5. HDU 6078 Wavel Sequence (dp)

    Description Have you ever seen the wave? It's a wonderful view of nature. Little Q is attracted to s ...

  6. UVA1626 / ZOJ1463 Brackets sequence 区间DP

    简单区间DP (有空串... ...) Brackets sequence Time Limit: 4500MS   Memory Limit: Unknown   64bit IO Format:  ...

  7. HDOJ-2062 :Subset sequence(DP)

    题目:求子集序列 Consider the aggregate An= { 1, 2, -, n }. For example, A1={1}, A3={1,2,3}. A subset sequen ...

  8. P1091 合唱队形[单调性+DP]

    题目来源:洛谷 题目描述 N位同学站成一排,音乐老师要请其中的(N−K)位同学出列,使得剩下的K位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2,-,K,他们的身高 ...

  9. BZOJ1563:[NOI2009]诗人小G(决策单调性DP)

    Description Input Output 对于每组数据,若最小的不协调度不超过1018,则第一行一个数表示不协调度若最小的不协调度超过1018,则输出"Too hard to arr ...

  10. 紫书动规 例题9-10 UVA - 1626 Brackets sequence 区间dp

    题目链接: https://vjudge.net/problem/UVA-1626 题意: 题解: dp[i][j]:= i~j需要最少的括号 区间dp: dp[i][j] = min(dp[i][j ...

最新文章

  1. 如何使用CDR智能填充工具
  2. Web API 速率限制(一)
  3. 几段表单处理的JQuery代码
  4. 数据中台必备的4个核心能力,你让数据创造价值了吗?
  5. 大数据会如何影响VC领域?
  6. highlightjs 详解
  7. 【汇编语言与计算机系统结构笔记16】子程序设计:子程序的嵌套与递归,多个模块之间的参数传送
  8. Qtum研究院:市面上企业级解决方案都有哪些亮点?
  9. 基于地理位置标记的空间聚类分析(python-DBSCAN)
  10. Ajax 登录控件(三)
  11. 蚂蚁区块链第1课 蚂蚁10大区块链解决方案及应用场景
  12. python中count什么意思_python中函数COUNT()的功能是什么
  13. 各大硬核应用渠道开放平台SDK文档地址
  14. SpringCloud入门之项目实例
  15. 应聘华为各类工程师通信基础题库以及答案(转)
  16. 双硬盘好还是纯固态好学计算机专业,固态硬盘虽好,但是和机械硬盘相比还是有其“不足之处”...
  17. Jenkins生成APP二维码下载链接
  18. 匡威react是什么意思_CONVERSE 的那些「老家伙」们,早晚都会回来的
  19. H265 HEVC 协议文档第4章缩写词及其含义翻译
  20. 基于双重ABC分类的B2C电商的物流储位优化

热门文章

  1. 会议日程安排问题python
  2. 日常使用的图片文件格式及各自的区别,JPG/PNG/GIF/RAW/WebP/HEIC
  3. java身份证号码验证
  4. 2020最新注册卡密微信在线充值购卡功能(适用于各种网络验证开发)【易语言源码】
  5. UE4编辑器工具——制作一个批量改名的小工具
  6. ae合成设置快捷键_必收藏的AE常用快捷键(全不全,看过才知道)
  7. 作为一名开发者,要警惕这五个浪费生命的现象
  8. Windows高效文件搜索工具/Everything/Listary/uTools
  9. 安卓开发 给控件左边右边下边添加阴影_Android 控件布局实现卡片效果,阴影效果...
  10. 德保罗大学计算机科学专业,德保罗大学专业排名介绍