Codeforces #713C: Sonya and Problem without a Legend 문제 해결

1258 단어
cf 13C sequence를 해봤으면 이 두 문제가 정말 놀라울 정도로 비슷했을 거예요.
그러나 이 문제는 엄격히 증가해야 하는데, 어떻게 해야 합니까?
그래서 신기한 방법이 있어요.
a[i]에 대해 i를 빼고 새로운 수조 b를 얻으면 b수조에서 떨어지지 않을 것을 보증하면 a는 엄격하게 증가할 수 있다
그래서 dp 코드를 올릴 수 있게 됐어요.
(dp 방정식은 13C sequence를 볼 수 있음)
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#define x first
#define y second
#define mp make_pair
#define pb push_back
#define LL long long
#define Pair pair
#define LOWBIT(x) x & (-x)
using namespace std;

const int INF=0x7ffffff;

int n;
int a[3048];
vector v;
LL dp[3048][3048];

inline int myabs(int x)
{
	return x>=0?x:-x;
}

int main ()
{
	int i,j;
	scanf("%d",&n);
	for (i=1;i<=n;i++)
	{
		scanf("%d",&a[i]);
		a[i]-=i;
		v.pb(a[i]);
	}
	sort(v.begin(),v.end());
	v.resize(unique(v.begin(),v.end())-v.begin());
	for (j=0;j

좋은 웹페이지 즐겨찾기