[bzoj1207]打鼹鼠
奇妙的dp。。
f[i]:=打掉i的时候已经打掉了多少
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #include <iostream> 2 #include <algorithm> 3 #include <cstdio> 4 #include <cstring> 5 #include <cstdlib> 6 using namespace std; 7 8 int n,m,t[10010],x[10010],y[10010],ans=1,f[10010]; 9 10 int main(){ 11 scanf("%d%d",&n,&m); 12 for(int i=0;i<m;i++)scanf("%d%d%d",&t[i],&x[i],&y[i]),f[i]=1; 13 for(int i=0;i<m;i++)for(int j=0;j<i;j++)ans=max(ans,(f[i]=max((abs(x[i]-x[j])+abs(y[i]-y[j])<=t[i]-t[j])*(f[j]+1),f[i]))); 14 printf("%d\n",ans); 15 }