求助一道题
查看原帖
求助一道题
234224
青鸟_Blue_Bird楼主2020/10/24 22:48

https://www.luogu.com.cn/problem/U137145

自己搞到的一道题,是一个很普通的DP, 但是蒟蒻像下面这么写,样例都没过,求助

#include <bits/stdc++.h>
using namespace std;
#define N 1000010
#define ll long long

template <class T>
inline void read(T& a){
	T x = 0, s = 1;
	char c = getchar();
	while(!isdigit(c)){ if(c == '-') s = -1; c = getchar(); }
	while(isdigit(c)){ x = x * 10 + (c ^ '0'); c = getchar(); }
	a = x * s;
	return ;
}

ll f[1010][110];
ll n, m; 
ll x[N], y[N]; 
ll len[N]; 

int main(){
//	freopen("temp.txt", "r", stdin); 
	cin >> n >> m;
	for(int i = 1; i <= n; i++)	
		cin >> x[i] >> y[i], len[i] = y[i] - x[i] + 1;
	f[1][1] = 0; 
	for(int i = 1; i <= n; i++){
		for(int j = 1; j <= m; j++)
			for(int k = 1; k < i; k++)
				f[i][j] = max(f[i][j],  f[k][j - 1] + len[i] * (i - k)), printf("i: %d j: %d dp: %lld S: %d\n", i, j, f[i][j], len[i] * (i - k)); 
	}
	ll ans = 0; 
	for(int i = 1; i <= n; i++)
		for(int j = 1; j <= m; j++)
		ans = max(ans, f[i][j]); 
	cout << ans << endl; 
	return 0;
}



2020/10/24 22:48
加载中...