zoukankan      html  css  js  c++  java
  • BZOJ1207_打鼹鼠_KEY

    题目传送门

    又是一道BZOJ的水题。

    DP,F[i]表示第i只鼹鼠出现后可以砸几只。

    F[i]=max(F[i],F[j]+1);

    但要满足time[i]-time[j]>=abs(x[i]-x[j])+abs(y[i]-y[j])

    code

    /**************************************************************
        Problem: 1207
        User: yekehe
        Language: C++
        Result: Accepted
        Time:2408 ms
        Memory:976 kb
    ****************************************************************/
    
    #include <cstdio>
    #include <cmath>
    #include <algorithm>
    using namespace std;
    int n,m,t[10001],x[10001],y[10001],f[10001];
    int main(){
        scanf("%d%d",&n,&m);
            for(int i=1;i<=m;i++)scanf("%d%d%d",&t[i],&x[i],&y[i]);
            for(int i=1;i<=m;i++){
                f[i]=1;
                for(int j=1;j<i;j++){
                    if(abs(x[i]-x[j])+abs(y[i]-y[j])<=t[i]-t[j]){
                        f[i]=max(f[i],f[j]+1);
                    }
                }
            }
        int ans=0;
            for(int i=1;i<=m;i++)ans=max(ans,f[i]);
        printf("%d",ans);
        return 0;
    }
  • 相关阅读:
    Java Spring AOP用法
    Spring IOC的简单实现
    随机数
    Java 正则表达式
    日期格式转换
    maven settings.xml详解
    JSP与Servlet的关系
    EL表达式学习
    FreeMarker学习2
    FreeMarker学习
  • 原文地址:https://www.cnblogs.com/Cptraser/p/7593447.html
Copyright © 2011-2022 走看看