• 主页
  • 随笔
  • 计划
所有文章 关于我 友链

  • 主页
  • 随笔
  • 计划

Teemo's hard problem (dp)

2018-08-02

Teemo’s hard problem

题意

题目意思是给你一个数列,你可以任意反转[L,R],使得这个数列的非递减序列最长。

看!代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <bits/stdc++.h>
#define INF 0x3f3f3f3f3f3f3f3f
#define MOD 1000000007
using namespace std;
typedef long long ll;
int a[2010];
int pre[2010];//1的前缀长度(包括自己)
int suf[2010];//2的后缀长度(包括自己)
int dp[2005][2005][4];//[i,j]中以k结尾的最长非递增序列长度
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
memset(pre,0,sizeof(pre));
memset(suf,0,sizeof(suf));
memset(dp,0,sizeof(dp));
for(int i=1; i<=n; i++)
{
scanf("%d",&a[i]);
if(a[i]==1)pre[i]=pre[i-1]+1;
else pre[i]=pre[i-1];
}
for(int i=n; i>=1; i--)
{
if(a[i]==2)suf[i]=suf[i+1]+1;
else suf[i]=suf[i+1];
}
for(int i=1; i<=n; i++)
{
dp[i][i][a[i]]=1;
for(int j=i+1; j<=n; j++)
{
if(a[j]==1)
{
dp[i][j][1]=max(dp[i][j-1][1],dp[i][j-1][2])+1;
dp[i][j][2]=dp[i][j-1][2];
}
else if(a[j]==2)
{
dp[i][j][1]=dp[i][j-1][1];
dp[i][j][2]=dp[i][j-1][2]+1;
}
}
}
int ans=0;
for(int i=1; i<=n; i++)
for(int j=i; j<=n; j++)
{
ans=max(ans,pre[i-1]+max(dp[i][j][1],dp[i][j][2])+suf[j+1]);
}
printf("%d\n",ans);
}
return 0;
}
  • dp
  • 算法

扫一扫,分享到微信

微信分享二维码
Teemo's reunited (曼哈顿距离,思维)
Teemo's bad day (并查集)
  1. 1. Teemo’s hard problem
    1. 1.1. 题意
    2. 1.2. 看!代码
© 2021 xxQ
Hexo Theme Yilia by Litten
  • 所有文章
  • 关于我
  • 友链

tag:

  • CodeForces
  • 二分
  • 随想
  • 斐波那契
  • 规律
  • DP
  • 最短路
  • 图论
  • 滚动数组
  • 最大权闭合子图
  • 模板
  • 素数
  • 网络流
  • dfs
  • 思维
  • 前缀和
  • 带权并查集
  • bfs
  • 贪心
  • 排列组合
  • dp
  • CSS
  • 次短路
  • 大数分解
  • English
  • AC自动机
  • 随机化算法
  • 莫比乌斯反演
  • 线段树
  • ST表
  • HDU
  • 母函数
  • 莫队
  • 容斥
  • 网站优化
  • Lucas
  • Universe
  • 拓扑
  • 并查集
  • 全排列构造
  • 字符串哈希
  • Subline
  • 矩阵快速幂
  • 欧拉路
  • 中国剩余定理
  • ZOJ
  • 歌词
  • 学习
  • 数学
  • 欧拉函数
  • 笔试
  • 音乐
  • 下载
  • 边缘计算

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: false
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

  • Litten
  • 婷婷
  • 叫我陈续缘
  • 世平阜康
  • 倾城之链(网站收录)
  • HUBBLE宇宙
  • 如果月球只有一个像素那么大
  • 早茶时光
小可爱的小可爱,
拖肥的娘亲,
划水的ACMer,
努力中的小菜鸡,
想要自信和一往无前的勇气。