一次考试共有n个人参加,第i个人说:“有ai个人分数比我高,bi个人分数比我低。”问最少有几个人没有说真话(可能有相同的分数)
题解:首先,由每个人说的话的内容,我们可以理解为他处在ai+1,n-bi这个区间(分数段)内,且这个区间每个人的分数相等;
有n个这样的区间,可以看出,交叉的区间不能一起选,完全相同的区间可以一起选;
这样我们把相同的区间数目求出来作为这个区间的权值,这个问题就成了带权的选择权值之和最大的不相交的区间问题;
利用动态规划解决即可;
#include
#include
#include
#include
#include
#include
#include
#include