AcWing - 513 - 无线网络发射器选址 = 前缀和

https://www.acwing.com/problem/content/515/

二维前缀和暴力统计,注意最后放这些点的位置的时候可以放在角落里的,巨坑,应该最简单的思路是枚举每个点1~MAXN,然后写个函数自动返回他周围的点的和。

#include <bits/stdc++.h>
using namespace std;

const int MAXN = 129;

int sum[MAXN + 25][MAXN + 25];

int main() {
#ifdef Yinku
    freopen("Yinku.in", "r", stdin);
#endif // Yinku
    int d, n;
    scanf("%d%d", &d, &n);
    d *= 2;
    while(n--) {
        int x, y, k;
        scanf("%d%d%d", &x, &y, &k);
        ++x, ++y;
        sum[x][y] += k;
    }

    for(int i = 1; i <= MAXN + d / 2; ++i) {
        for(int j = 1; j <= MAXN + d / 2; ++j) {
            sum[i][j] += sum[i - 1][j] + sum[i][j - 1] - sum[i - 1][j - 1];
            //printf("%2d", sum[i][j]);
        }
        //printf("\n");
    }

    int ans2 = 0;
    for(int i = d + 1;  i <= MAXN + d / 2; ++i) {
        for(int j = d + 1 ; j <= MAXN + d / 2; ++j) {
            ans2 = max(ans2, sum[i][j] - sum[i - (d + 1)][j] - sum[i][j - (d + 1)] + sum[i - (d + 1)][j - (d + 1)]);
            //printf("%2d", sum[i][j] - sum[i - (d + 1)][j] - sum[i][j - (d + 1)] + sum[i - (d + 1)][j - (d + 1)]);
        }
        //printf("\n");
    }
    int ans1 = 0;
    for(int i = d / 2 + 1;  i <= MAXN + d / 2; ++i) {
        for(int j = d / 2 + 1 ; j <= MAXN + d / 2; ++j) {
            if(sum[i][j] - ((i >= d + 1) ? sum[i - (d + 1)][j] : 0) - ((j >= d + 1) ? sum[i][j - (d + 1)] : 0) + ((i >= d + 1 && j >= d + 1) ? sum[i - (d + 1)][j - (d + 1)] : 0) == ans2)
                ++ans1;
        }
    }
    printf("%d %d\n", ans1, ans2);
    return 0;
}

原文地址:https://www.cnblogs.com/Inko/p/11664034.html

时间: 2024-10-09 00:11:26

AcWing - 513 - 无线网络发射器选址 = 前缀和的相关文章

【luogu2038】【noip2014】无线网络发射器选址 [模拟][二维前缀和]

P2038 无线网络发射器选址 这个题有很多种做法 然后就可以练很多小的算法 技巧啥的嘿嘿 首先是模拟 要开一个为128+40为边长的数组 然后枚举在20~148内以(i,j)为中心的正方形 然后再挨个挨个计算sum 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define rg register 4 #define ll long long 5 const int N=200; 6 int n,d,mp[N][N]; 7 templ

【NOIP之旅】NOIP2014 day2 T1 无线网络发射器选址

1.无线网络发射器选址 (wireless.cpp/c/pas) [问题描述] 随着智能手机的日益普及,人们对无线网的需求日益增大.某城市决定对城市内的公共场所覆盖无线网. 假设该城市的布局为由严格平行的129条东西向街道和129条南北向街道所形成的网格状,并且相邻的平行街道之间的距离都是恒定值1.东西向街道从北到南依次编号为0,1,2…128,南北向街道从西到东依次编号为0,1,2…128. 东西向街道和南北向街道相交形成路口,规定编号为x的南北向街道和编号为y的东西向街道形成的路口的坐标是(

洛谷 P2038 无线网络发射器选址

P2038 无线网络发射器选址 注意边界是否小于0 1 #include<bits/stdc++.h> 2 using namespace std; 3 int d,n,num[1000][1000],ans[1000][1000],tot,cnt,maxx; 4 int main() 5 { 6 scanf("%d",&d); 7 scanf("%d",&n); 8 memset(num,0,sizeof(num)); 9 memset

Codevs 3578 无线网络发射器选址== NOIP 2014 Day2 T1

3578 无线网络发射器选址 时间限制: 1 s 空间限制: 64000 KB 题目等级 : 白银 Silver 题目描述 Description 随着智能手机的日益普及,人们对无线网的需求日益增大.某城市决定对城市内的公共场所覆盖无线网. 假设该城市的布局为由严格平行的 129 条东西向街道和 129 条南北向街道所形成的网格状,并且相邻的平行街道之间的距离都是恒定值 1 .东西向街道从北到南依次编号为0,1,2…128,南北向街道从西到东依次编号为 0,1,2…128. 东西向街道和南北向街

[NOIP2014] 提高组 洛谷P2038 无线网络发射器选址

题目描述 随着智能手机的日益普及,人们对无线网的需求日益增大.某城市决定对城市内的公共场所覆盖无线网. 假设该城市的布局为由严格平行的129 条东西向街道和129 条南北向街道所形成的网格状,并且相邻的平行街道之间的距离都是恒定值 1 .东西向街道从北到南依次编号为0,1,2…128 , 南北向街道从西到东依次编号为0,1,2…128 . 东西向街道和南北向街道相交形成路口,规定编号为x 的南北向街道和编号为y 的东西向街道形成的路口的坐标是(x , y ). 在 某 些 路口存在一定数量的公共

NOIP2014_day2:无线网络发射器选址

#include<stdio.h>//NOIP2014 day2 :无线网络发射器选址 int d,n,i,j,x,y,k,sum=0,max=0; int w[130][130]; void wifi(int a,int b,int c) { int i,j; for(i=x-d;i<=x+d;i++) for(j=y-d;j<=y+d;j++) w[i][j]=w[i][j]+k; } int main() { scanf("%d%d",&d,&am

P2038 无线网络发射器选址

P2038 无线网络发射器选址 题目描述 随着智能手机的日益普及,人们对无线网的需求日益增大.某城市决定对城市内的公共场所覆盖无线网. 假设该城市的布局为由严格平行的129 条东西向街道和129 条南北向街道所形成的网格状,并且相邻的平行街道之间的距离都是恒定值 1 .东西向街道从北到南依次编号为0,1,2…128 , 南北向街道从西到东依次编号为0,1,2…128 . 东西向街道和南北向街道相交形成路口,规定编号为x 的南北向街道和编号为y 的东西向街道形成的路口的坐标是(x , y ). 在

noip2014 无线网络发射器选址

P2038 无线网络发射器选址 1K通过 2.5K提交 题目提供者该用户不存在 标签模拟2014NOIp提高组 难度普及/提高- 提交该题 讨论 题解 记录 最新讨论 70分的进来.... 数据错误 题目有错别字 题目描述 随着智能手机的日益普及,人们对无线网的需求日益增大.某城市决定对城市内的公共场所覆盖无线网. 假设该城市的布局为由严格平行的129 条东西向街道和129 条南北向街道所形成的网格状,并且相邻的平行街道之间的距离都是恒定值 1 .东西向街道从北到南依次编号为0,1,2…128

关于NOIP2014“无线网络发射器选址”一题的衍生题目的思考及思维方向

无线网络发射器选址 题目描述 随着智能手机的日益普及,人们对无线网的需求日益增大.某城市决定对城市内的公共场所覆盖无线网. 假设该城市的布局为由严格平行的129 条东西向街道和129 条南北向街道所形成的网格状,并且相邻的平行街道之间的距离都是恒定值 1 .东西向街道从北到南依次编号为0,1,2-128 , 南北向街道从西到东依次编号为0,1,2-128 . 东西向街道和南北向街道相交形成路口,规定编号为x 的南北向街道和编号为y 的东西向街道形成的路口的坐标是(x , y ). 在 某 些 路