激光炸弹

题目链接

https://ac.nowcoder.com/acm/problem/20032

解题思路

有坑点啊:
1.xiyi能取到0;
2.遍历前缀和的范围最小为正方形边长,要不当最大的xi,yi都小于r的时候输出为0。

AC代码

#include<bits/stdc++.h>
#define ll long long

using namespace std;

const int N=5005;
int x,y,n,r,b,xx,yy;
short ans,mp[N][N],v;

short Max(short a,short b)
{
    return a>b?a:b;
}

int main()
{
    cin>>n>>r;
    xx=r,yy=r;//勿忘
    for(int i=1;i<=n;i++) cin>>x>>y>>v,mp[x+1][y+1]=v,xx=max(x+1,xx),yy=max(y+1,yy);//勿忘+1
    for(int i=1;i<=xx;i++)
    for(int j=1;j<=yy;j++)
    {
        mp[i][j]+=mp[i-1][j]+mp[i][j-1]-mp[i-1][j-1];
        if(i>=r && j>=r) ans=Max(ans,mp[i][j]-mp[i-r][j]-mp[i][j-r]+mp[i-r][j-r]);
    }
    cout<<ans<<endl;
}
算法进阶指南 文章被收录于专栏

例题代码及讲解(难的会pass)

全部评论

相关推荐

10-15 20:01
已编辑
上海大学 Java
钉钉什么垃圾公司,约面鸽人
光年在眼前:不是坏事,感觉钉钉挺逆天的,二面结束还给我留作业,让我使用钉钉和看最新的发布会,然后说感受,我是应该不会去,三面直接拒绝不面了
点赞 评论 收藏
分享
09-18 20:41
百度_Java
要个offer怎么这...:哈哈哈哈哈哈,我也拿了0x10000000个offer,秋招温啦啦啦,好开心
我的秋招日记
点赞 评论 收藏
分享
牛客96763241...:杭电✌️也是打完招呼,没人回吗
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务