zoukankan      html  css  js  c++  java
  • 洛谷P2280 [HNOI2003]激光炸弹

    题目描述
    这里写图片描述

    输入输出格式

    输入格式:
    输入文件名为input.txt

    输入文件的第一行为正整数n和正整数R,接下来的n行每行有3个正整数,分别表示 xi,yi ,vi 。

    输出格式:
    输出文件名为output.txt

    输出文件仅有一个正整数,表示一颗炸弹最多能炸掉地图上总价值为多少的目标(结果不会超过32767)。

    输入输出样例

    输入样例#1:
    2 1
    0 0 1
    1 1 1
    输出样例#1:
    1
    .
    .
    .
    .
    .

    分析

    对于这道题,我们可以直接用二维前缀和来做
    设f[i][j]表示从1,1到i,j这个矩形的总和
    则有f[i][j]=f[i-1][j]+f[i][j-1]+x-f[i-1][j-1]
    .
    .
    .
    .
    .

    程序:
    #include<iostream>
    using namespace std;
    int a[5002][5002],x,y,w,ans;
    int main()
    {
        int n,r;
        cin>>n>>r;
        for(int i=1;i<=n;i++)
        {
            cin>>x>>y>>w;
            a[x+1][y+1]=w;
        }
        for(int i=1;i<=5001;i++)
        for(int j=1;j<=5001;j++)
        a[i][j]=a[i-1][j]+a[i][j-1]+a[i][j]-a[i-1][j-1];
        for(int i=0;i<5001-r;i++)
        for(int j=0;j<5001-r;j++)
        ans=max(ans,a[i+r][j+r]-a[i+r][j]-a[i][j+r]+a[i][j]);
        cout<<ans;
        return 0;
    }
  • 相关阅读:
    OpenGL完整实例
    OpenGL
    Socket(2)
    Socket(1)
    Stream,Reader/Writer,Buffered的区别(2)
    Stream,Reader/Writer,Buffered的区别(1)
    SQLite数据库与Contentprovider(2)
    SQLite数据库与Contentprovider(1)
    数据存储和访问
    AIDL与service
  • 原文地址:https://www.cnblogs.com/YYC-0304/p/9499911.html
Copyright © 2011-2022 走看看