• 前缀和(题目)


    EG1 激光炸弹

    在这里插入图片描述

    题意:给你n个点的坐标及权值,用r * r的范围最大覆盖是多少

    在这里插入图片描述

    题解

    //二维的 前缀和 问题
    #include <iostream>
    #include <algorithm>
    
    using namespace std;
    
    int n, r;
    int ta, tb;
    int x, y, w;
    int sum[5005][5005];
    int ans = 0;
    int main()
    {
    	cin >> n >> r;					//	r 为 正方形的范围
    	ta = r;
    	tb = r;
    	for (int i = 0; i < n; i++)			//首先利用 for 循环 扫一遍算出每个点的权值
    												// sum[i][j]表示从(1,1)到(i,j)里所含的总值
    	{
    		cin >> x >> y >> w;
    		x++;
    		y++;
    		sum[x][y] += w;
    		ta = max(ta, x);
    		tb = max(tb, y);
    	}
    	for (int i = 1; i <= ta; i++)
    		for (int j = 1; j <= tb; j++)
    			sum[i][j] += sum[i - 1][j] + sum[i][j - 1] - sum[i - 1][j - 1];
    	for (int i = r; i <= ta; i++)
    		for (int j = r; j <= tb; j++)
    			ans = max(ans, sum[i][j] - sum[i - r][j] - sum[i][j - r] + sum[i - r][j - r]); // 相当于求以i,j分开的四个矩形中的右上方的矩形
    	cout << ans << endl;
    	return 0;
    }
    
    作者:LightAc
    出处:https://www.cnblogs.com/lightac/
    联系:
    Email: dzz@stu.ouc.edu.cn
    QQ: 1171613053
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    CentOS忘记密码修改方案以及centos卡在开机登录界面,命令失效的解决方法
    音乐制作模块
    CentOS7安装RabbitMQ,并设置远程访问
    设计模式
    排序
    经典排序算法及python实现
    scrapy初步解析源码即深度使用
    JAVA----线程初级
    Python随笔--魔法方法(析构与构造)
    Python随笔--对象
  • 原文地址:https://www.cnblogs.com/lightac/p/10534730.html
Copyright © 2020-2023  润新知