<法一>若打了一只鼹鼠后,还能打另一只,我们可以在它们之间连权值为1的边。于是答案就是 以m为终点的最长路长度+1。建反图,就是单源最长路。

MLE TLE 一时爽。

 #include<cstdio>
#include<queue>
#include<cstring>
#include<algorithm>
using namespace std;
vector<int>G[];
queue<int>q;
int n,m,T[],x[],y[],dis[],ans;
bool inq[];
void spfa(const int &s)
{
memset(dis,0xaf,sizeof(dis)); dis[s]=;
q.push(s); inq[s]=;
while(!q.empty())
{
int U=q.front();
for(vector<int>::iterator it=G[U].begin();it!=G[U].end();it++)
if(dis[*it]<dis[U]+)
{
dis[*it]=dis[U]+;
if(!inq[*it])
{
q.push(*it);
inq[*it]=;
}
}
q.pop(); inq[U]=;
}
for(int i=;i<=m;i++) ans=max(ans,dis[i]);
}
int Abs(const int &x){return x< ? -x : x;}
int Dis(const int &x1,const int &y1,const int &x2,const int &y2)
{return Abs(x1-x2)+Abs(y1-y2);}
int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<=m;i++) scanf("%d%d%d",&T[i],&x[i],&y[i]);
for(int i=;i<=m;i++)
for(int j=i+;j<=m;j++)
if(T[j]-T[i]>=Dis(x[i],y[i],x[j],y[j]))
G[j].push_back(i);
spfa(m); printf("%d\n",ans+);
return ;
}

<法二>然后是m^2 暴力dp。100分。

 #include<cstdio>
#include<algorithm>
using namespace std;
int f[],T[],x[],y[];
int Abs(const int &x){return x< ? -x : x;}
int Dis(const int &x1,const int &y1,const int &x2,const int &y2)
{return Abs(x1-x2)+Abs(y1-y2);}
int n,m;
int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<=m;i++) scanf("%d%d%d",&T[i],&x[i],&y[i]);
fill_n(f+,m,);
for(int i=;i<=m;i++)
for(int j=;j<i;j++)
if(T[i]-T[j]>=Dis(x[i],y[i],x[j],y[j]))
f[i]=max(f[i],f[j]+);
printf("%d\n",*max_element(f+,f+m+));
return ;
}

【动态规划】【最短路】【spfa】bzoj1207 [HNOI2004]打鼹鼠的更多相关文章

  1. [bzoj1207][HNOI2004]打鼹鼠_动态规划

    打鼹鼠 bzoj-1207 HNOI-2004 题目大意:题目链接. 注释:略. 想法: $dp_i$表示打到了第$i$个鼹鼠时最多打了多少个鼹鼠. $O(n)$转移即可. 总时间复杂度$O(n^2) ...

  2. bzoj千题计划147:bzoj1207: [HNOI2004]打鼹鼠

    http://www.lydsy.com/JudgeOnline/problem.php?id=1207 dp[i] 表示打的最后一只鼹鼠是第i只,最多能打多少只鼹鼠 输出max(dp[i]) 错解: ...

  3. BZOJ1207 [HNOI2004]打鼹鼠 动态规划

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1207 题目概括 n*n的方阵上,一开始你可以在任何地方. 你每秒可以移动一格,接下来有m只地鼠冒出 ...

  4. 【题解】 bzoj1207: [HNOI2004]打鼹鼠 (动态规划)

    bzoj1207,懒得复制,戳我戳我 Solution: 挺傻逼的一个\(dp\),直接推就好了 这题在bzoj上的数据有点问题,题目保证每个时间点不会出现在同一位置两个地鼠,然而他有= =(还浪费我 ...

  5. BZOJ1207 [HNOI2004]打鼹鼠

    Description 鼹鼠是一种很喜欢挖洞的动物,但每过一定的时间,它还是喜欢 把头探出到地面上来透透气的.根据这个特点阿Q编写了一个打鼹鼠的游戏:在一个n*n的网格中,在某些时刻鼹鼠会在某一个网格 ...

  6. [BZOJ1207] [HNOI2004] 打鼹鼠 (dp)

    Description 鼹鼠是一种很喜欢挖洞的动物,但每过一定的时间,它还是喜欢把头探出到地面上来透透气的.根据这个特点阿Q编写了一个打鼹鼠的游戏:在一个n*n的网格中,在某些时刻鼹鼠会在某一个网格探 ...

  7. bzoj1207 [HNOI2004]打鼹鼠——LIS

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1207 这题和求LIS有点像,打这一只鼹鼠一定可以从打上一只鼹鼠转移过来: 所以不用考虑机器人 ...

  8. 【题解】Luogu p2285 BZOJ1207 [HNOI2004]打鼹鼠

    题目描述 鼹鼠是一种很喜欢挖洞的动物,但每过一定的时间,它还是喜欢把头探出到地面上来透透气的.根据这个特点阿牛编写了一个打鼹鼠的游戏:在一个n*n的网格中,在某些时刻鼹鼠会在某一个网格探出头来透透气. ...

  9. 洛谷P2285 [HNOI2004]打鼹鼠

    P2285 [HNOI2004]打鼹鼠 题目描述 鼹鼠是一种很喜欢挖洞的动物,但每过一定的时间,它还是喜欢把头探出到地面上来透透气的.根据这个特点阿牛编写了一个打鼹鼠的游戏:在一个n*n的网格中,在某 ...

随机推荐

  1. shell监控进程是否存在

    1.直接给代码:我这个是两个程序.多半要写成函数 [root@java1 src]# cat checkprocess.sh #!/bin/bashcheckprocess(){ps -ef|grep ...

  2. CSS中background-position使用技巧

    一.background-position:left top; 背景图片的左上角和容器(container)的左上角对齐,超出的部分隐藏.等同于 background-position:0,0;也等同 ...

  3. Spring学习--引用其他Bean , 内部Bean

    引用其他Bean: 组成应用程序的 Bean 经常需要相互协作以完成应用程序的功能 , 要使 Bean 能够相互访问, 就必须在 Bean 配置文件中指定对 Bean 的引用. 在 Bean 的配置文 ...

  4. SVG布局

    http://www.w3cplus.com/html5/nesting-svgs.html

  5. bzoj1861 书架 splay版

    单点插入删除以及求前缀 #include<cstdio> #include<cstring> #include<algorithm> using namespace ...

  6. wx.ScrolledWindow wx.PseudoDC

    # encoding: utf-8 import logging import random import wx import wx.lib.inspection def GetMyBitmap(): ...

  7. swt 更新主UI线程

    // 将msg送回对应的Applet public void write(String msg) { synchronized (msg) { try { m_out.writeUTF(msg); } ...

  8. efi转bios详细说明

    前言 制作好的efi格式的ubuntu15.10系统放到服务器主板上启动不了,于是将其改为bios格式,发现问题解决了,成功登入系统.下面是操作过程的一个记录. 测试环境 目标环境 系统: Ubunt ...

  9. python学习笔记 协程

    在学习异步IO模型前,先来了解协程 协程又叫做微线程,Coroutine 子程序或者成为函数,在所有语言中都是层级调用,比如a调用b,b调用c.c执行完毕返回,b执行完毕返回,最后a执行完毕返回 所以 ...

  10. kernel_read【转】

    转自:http://blog.csdn.net/echoisland/article/details/7101097http://lxr.oss.org.cn/source/fs/exec.c 798 ...