<法一>若打了一只鼹鼠后,还能打另一只,我们可以在它们之间连权值为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. More on understanding sort_buffer_size

    There have been a few posts by Sheeri and Baron today on the MySQL sort_buffer_size variable. I want ...

  2. 设备VMnet0上的网络桥接当前未在运行解决办法

    问题: 今天把自己的VM从C盘挪到了D盘,然后再open所有VM都会显示网卡无法桥接了 “vmware 没有未桥接的主机网络适配器” 解决办法: 1.关闭所有VM 2.打开 编辑-虚拟网络编辑器,会发 ...

  3. httpFS访问

    编辑文件httpfs-env.sh 执行sbin/httpfs.sh 执行命令curl -i "http://192.168.1.213:14000/webhdfs/v1?user.name ...

  4. 关于hadoop: command not found的问题

    问题: 昨天在安装完hadoop伪分布式之后,执行hadoop下的子项目--文字计数功能时出现该错误,然后今天执行 hadoop fs -ls命令时系统给出同样的错误提醒,经过查找资料,初步认为是ha ...

  5. RPC-整体概念

    RPC概述 RPC(Remote Procedure Call),即远程过程调用,是一种通过网络从远程计算机程序上请求服务而不需要了解底层网络技术的协议,实现调用远程主机上的方法就像调用本地方法一样. ...

  6. LABVIEW伺服电机测试平台

    遇见的关键问题总结: 怎么发脉冲:(1)保持电平一段时间进行翻转(2)仿真脉冲 怎样测试脉冲数:通过检测当前时刻和前一时刻的电平是否相同(通过反馈或者移位寄存器实现)来检测脉冲跳变 通过编码器测量速度 ...

  7. bzoj 1083 最小生成树

    裸的最小生成树. /************************************************************** Problem: User: BLADEVIL Lan ...

  8. wx.ScrolledWindow wx.PseudoDC

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

  9. Windows下卸载Oracle

    先在软件运行界面卸载 Oracle 一.删掉主目录 二.删除注册表内容.     运行regedit命令,删除下面内容: --1.HKEY_CLASSES_ROOT,删除此键下所有以Ora,Oracl ...

  10. 6.flume实战(三)※

    需求:将A服务器上的日志实时采集到B服务器上面去 大致原理: 技术选型: exec source + memory channel + avro sink avro source + memory c ...