这题目其实一点都不难,,问题是我一开始理解错题意了,以为必须要刚刚好到达,不能前也不能后,然后就蒙蔽了= =,想了各种做法都不会啊= =。
结果后来看题解发现原来还可以站在原地不动的= =这不就水了很多。
首先按照升序排序,这个明显,因为我们肯定要接先掉下来的。
然后设f[i]表示走到第i个点的最大答案,那么明显有f[i]=max(f[j]+1)
j满足条件p[j]+t[i][j]<=p[i]
n^2,都不用n^3= =。。
#include<cstdio>
#include<cstring>
#include<algorithm>
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fd(i,a,b) for(int i=a;i>=b;i--)
using namespace std;
const int