bzoj 1207: [HNOI2004]打鼹鼠【dp】
2024-08-30 11:35:07
跟简单的dp,设f[i]表示前i只最多打几只,因为起点不确定,所以f[i]可以从任意abs(x[i]-x[j])+abs(y[i]-y[j])<=abs(time[i]-time[j])的j<i转移:f[i]=max(f[j]+1);
#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
const int N=10005;
int n,m,x[N],y[N],z[N],f[N],ans=1,tot;
int read()
{
int r=0,f=1;
char p=getchar();
while(p>'9'||p<'0')
{
if(p=='-')
f=-1;
p=getchar();
}
while(p>='0'&&p<='9')
{
r=r*10+p-48;
p=getchar();
}
return r*f;
}
int main()
{
n=read(),m=read();
for(int i=1;i<=m;i++)
{
int a=read(),b=read(),c=read();
if(c<=n&&c>=1&&b<=n&&b>=1)
z[++tot]=a,x[tot]=b,y[tot]=c;
}
for(int i=1;i<=m;i++)
f[i]=1;
for(int i=2;i<=tot;i++)
{
for(int j=1;j<i;j++)
if(abs(x[i]-x[j])+abs(y[i]-y[j])<=abs(z[i]-z[j]))
f[i]=max(f[i],f[j]+1);
ans=max(ans,f[i]);
}
printf("%d\n",ans);
return 0;
}
最新文章
- [Ahoi2013]差异
- vim备忘
- 学习C++的第二天
- 微信OAuth2网页授权
- ASP.NET MVC 学习2、从Controller传递数据到View
- Hessian(C#)介绍及使用说明
- Textbox服务器控件
- BZOJ5019[Snoi2017]遗失的答案——FWT+状压DP
- Java计算文件MD5值(支持大文件)
- 从零开始学 Web 之 ES6(五)ES6基础语法三
- 【C++ Primer 第11章】4. 无序容器
- Presto 架构和原理简介(转)
- CMMI的敏捷开发
- Read.csv: some rows are missing
- centos6和centos7的防火墙的操作
- Linux内存管理 【转】
- vulcanjs 包类型
- qt windows下的配置 以及VS2010的使用
- 594. Longest Harmonious Subsequence
- OO第四阶段总结
热门文章
- 前端编程提高之旅(五)----写给大家看的css书
- Linux安装Axis C构建WebService服务
- MYSQL使用inner join 进行 查询/删除/修改示例
- Express:模板引擎深入研究
- AMQP 0-9-1 Model Explained Why does the queue memory grow and shrink when publishing/consuming? AMQP和AMQP Protocol的是整体和部分的关系 RabbitMQ speaks multiple protocols.
- yum报错File ";/usr/bin/yum";, line 30 except KeyboardInterrupt, e:
- Mybatis中的大于等于和小于等于
- YTU 2457: 很简单的一道题
- 底层并发APIs_源自objc.io
- RecyclerView 局部刷新(获取viewHolder 去刷新)