bzoj 1207: [HNOI2004]打鼹鼠 (DP)
2017-05-29 20:28
344 查看
题目描述
传送门
题解
因为所有的地鼠的出现顺序是有序的,所以可以直接DPf[i]表示到第i只地鼠且第i只地鼠必选所能打到的最多的地鼠的数量。
枚举出现在他前面的地鼠,判断是否可以转移,然后更新DP数组即可。
这道题的话O(n2)其实就可以通过,不过可以通过加剪枝(优化)使其达到比较科学的速度。
代码
#include<iostream> #include<cstdio> #include<algorithm> #include<cmath> #include<cstring> #define N 10003 using namespace std; int ti ,x ,y ,f ; int n,m; int main() { freopen("a.in","r",stdin); scanf("%d%d",&n,&m); for (int i=1;i<=m;i++) scanf("%d%d%d",&ti[i],&x[i],&y[i]); f[1]=1; int ans=0; for (int i=2;i<=m;i++) { f[i]=1; for (int j=1;j<i;j++) if (ti[i]-ti[j]>=abs(x[i]-x[j])+abs(y[i]-y[j])) f[i]=max(f[i],f[j]+1); ans=max(f[i],ans); } printf("%d\n",ans); }
相关文章推荐
- 【bzoj1207】[HNOI2004]打鼹鼠 dp
- BZOJ 1207: [HNOI2004]打鼹鼠【DP】
- [BZOJ 1207] [HNOI 2004] 打鼹鼠 【DP】
- bzoj1207: [HNOI2004]打鼹鼠(Dp)
- BZOJ 1207: [HNOI2004]打鼹鼠【妥妥的n^2爆搜,dp】
- BZOJ 1207: [HNOI2004]打鼹鼠( dp )
- [BZOJ 1207][HNOI2004]打鼹鼠:DP
- bzoj 1207: [HNOI2004]打鼹鼠【dp】
- bzoj 1207: [HNOI2004]打鼹鼠 (dp)
- 【bzoj1207】[HNOI2004]打鼹鼠
- BZOJ系列1207《[HNOI2004]打鼹鼠》题解
- 【BZOJ】1207: [HNOI2004]打鼹鼠
- bzoj千题计划147:bzoj1207: [HNOI2004]打鼹鼠
- bzoj 1207 [HNOI2004]打鼹鼠
- bzoj 1207: [HNOI2004]打鼹鼠
- BZOJ 1207.[HNOI2004]打鼹鼠
- 12.7 bzoj 1207[HNOI2004]打鼹鼠
- BZOJ1207 [HNOI2004]打鼹鼠
- 【HNOI2004】【codevs1256】【BZOJ1207】打鼹鼠,小小DP
- 【bzoj1207】【HNOI2004】【打鼹鼠】