zoukankan      html  css  js  c++  java
  • 前缀和(题目)

    A.激光炸弹

     1 //二维的 前缀和 问题
     2 #include <iostream>
     3 #include <algorithm>
     4 
     5 using namespace std;
     6 
     7 int n, r;
     8 int ta, tb;
     9 int x, y, w;
    10 int sum[5005][5005];
    11 int ans = 0;
    12 int main()
    13 {
    14     cin >> n >> r;                    //    r 为 正方形的范围
    15     ta = r;
    16     tb = r;
    17     for (int i = 0; i < n; i++)            //首先利用 for 循环 扫一遍算出每个点的权值
    18                                                 // sum[i][j]表示从(1,1)到(i,j)里所含的总值
    19     {
    20         cin >> x >> y >> w;
    21         x++;
    22         y++;
    23         sum[x][y] += w;
    24         ta = max(ta, x);
    25         tb = max(tb, y);
    26     }
    27     for (int i = 1; i <= ta; i++)
    28         for (int j = 1; j <= tb; j++)
    29             sum[i][j] += sum[i - 1][j] + sum[i][j - 1] - sum[i - 1][j - 1];
    30     for (int i = r; i <= ta; i++)
    31         for (int j = r; j <= tb; j++)
    32             ans = max(ans, sum[i][j] - sum[i - r][j] - sum[i][j - r] + sum[i - r][j - r]); // 相当于求以i,j分开的四个矩形中的右上方的矩形
    33     cout << ans << endl;
    34     return 0;
    35 }
    作者:LightAc
    出处:https://www.cnblogs.com/lightac/
    联系:
    Email: dzz@stu.ouc.edu.cn
    QQ: 1171613053
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    poj-2376 Cleaning Shifts (排序+贪心)
    AOJ 0525
    POJ -3050 Hopscotch
    POJ-2718 Smallest Difference
    AOJ 0121: Seven Puzzle (BFS DP STL 逆向推理)(转载)
    POJ-3187 Backward Digit Sums (暴力枚举)
    POJ-3669 Meteor Shower(bfs)
    分布式消息系统Kafka初步
    nginx源码学习----内存池
    def文件格式
  • 原文地址:https://www.cnblogs.com/lightac/p/10534723.html
Copyright © 2011-2022 走看看