如果做过cf 13C sequence应该马上就能发现这两道题惊人的相似
但是这题要求严格递增,怎么办呢?
于是有一个神奇的做法
对于a[i],将其减去i,得到新数组b,b数组中只要保证不下降,a就能保证严格递增
于是可以上dp代码了
(dp方程可以看13C sequence)
#include <cstdio>
#include <iostream>
#include <cstring>
#include <string>
#include <cmath>
#include <algorithm>
#include <cstdlib>
#include <utility>
#include <map>
#include <stack>
#include <set>
#include <vector>
#include <queue>
#include <deque>
#define x first
#define y second
#define mp make_pair
#define pb push_back
#define LL long long
#define Pair pair<int,int>
#define LOWBIT(x) x & (-x)
using namespace std;
const int INF=0x7ffffff;
int n;
int a[3048];
vector<int> v;
LL dp[3048][3048];
inline int myabs(int x)
{
return x>=0?x:-x;
}
int main ()
{
int i,j;
scanf("%d",&n);