Processing math: 100%

[SDOI2004]打鼹鼠

......

心血来潮,手打abs

结果...BZOJ上CE,洛谷上WA...

把宏定义换成函数就过了

显然一个点可以走到另一个点,当且仅当两点鼹鼠出现时间两点间距离的曼哈顿距离

显然是DP

f[i]=max{f[j]}+1(i,j满足条件t[i]-t[j]>=abs(x[i]-x[j])+abs(y[i]-y[j]))

复制代码
 1 #include<cstdio>
 2 #include<queue>
 3 #include<iostream>
 4 #include<cstring>
 5 #define int long long 
 6 inline int abs(int x){if(x<0) return -x;return x;}
 7 using namespace std;
 8 inline int read(){
 9     int ans=0,f=1;char chr=getchar();
10     while(!isdigit(chr)){if(chr=='-') f=-1;chr=getchar();}
11     while(isdigit(chr)){ans=(ans<<3)+(ans<<1)+chr-48;chr=getchar();}
12     return ans*f;
13 }int n,m,x[10005],y[10005],z[10005],f[10005],ans;
14 signed main(){
15     n=read(),m=read();
16     for(int i=1;i<=m;i++)    z[i]=read(),x[i]=read(),y[i]=read(),f[i]=1;
17     for(int i=1;i<=m;i++){
18         for(int j=1;j<i;j++)
19             if(z[i]-z[j]>=abs(x[i]-x[j])+abs(y[i]-y[j]))
20                 f[i]=max(f[j]+1,f[i]);
21         ans=max(ans,f[i]);
22     }cout<<ans;
23     return 0;
24 }
复制代码

 

posted @   zheng_liwen  阅读(118)  评论(0编辑  收藏  举报
编辑推荐:
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
阅读排行:
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!
/*去广告*/
点击右上角即可分享
微信分享提示