zoukankan      html  css  js  c++  java
  • [bzoj1207][HNOI2004]打鼹鼠_动态规划

    打鼹鼠 bzoj-1207 HNOI-2004

    题目大意题目链接

    注释:略。


    想法

    $dp_i$表示打到了第$i$个鼹鼠时最多打了多少个鼹鼠。

    $O(n)$转移即可。

    总时间复杂度$O(n^2)$。

    Code:

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    #define N 10010 
    using namespace std;
    struct Node {int tm,x,y;}a[N]; int dp[N];
    inline char nc() {static char *p1,*p2,buf[100000]; return (p1==p2)&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++;}
    int rd() {int x=0; char c=nc(); while(!isdigit(c)) c=nc(); while(isdigit(c)) x=(x<<3)+(x<<1)+(c^48),c=nc(); return x;}
    int main()
    {
    	int n=rd(),m=rd(); for(int i=1;i<=m;i++)
    	{
    		a[i].tm=rd(),a[i].x=rd(),a[i].y=rd();
    		dp[i]=1; for(int j=1;j<i;j++) if(abs(a[i].x-a[j].x)+abs(a[i].y-a[j].y)<=a[i].tm-a[j].tm)
    		{
    			dp[i]=max(dp[i],dp[j]+1);
    		}
    	}
    	int ans=0; for(int i=1;i<=m;i++) ans=max(ans,dp[i]);
    	printf("%d
    ",ans);
    	return 0;
    }
    

    小结:水题。

  • 相关阅读:
    C#移动及改变控件大小
    flutter学习(状态组件,组件)
    dart学习1
    rn的优化
    git命令
    Immutable
    树形数据结构的搜索功能
    promise
    js出场率极高的代码
    js浮点数计算精度解决方案
  • 原文地址:https://www.cnblogs.com/ShuraK/p/10199365.html
Copyright © 2011-2022 走看看