hdu 6249 Alice’s Stamps [DP]

题意:给你n种邮票,m个邮票集合,每个邮票集合包含邮票种类区间【L,R】,问取最多k个集合的时候的最多邮票种类。

题解:定义dp[i][j]代表取到1~i种邮票时取j个集合的最多邮票种类。将集合按照L从小到大排序,每次取距离当前位置最远的R更新,用now记录当前能够向后获得的邮票种类。

AC代码:

#include
#include
#include
#define N 2005
using namespace std;
int dp[N][N];
struct node
{
	int l,r;
}a[N];
bool cmp(node a,node b)
{
	if(a.l==b.l)return a.r

你可能感兴趣的:(DP)