当前位置: 首页 > wzjs >正文

淘宝店铺 发布网站建设石家庄怎样做网站

淘宝店铺 发布网站建设,石家庄怎样做网站,什么软件可以排名次,代码分享wordpress1. 简介 前缀和是经典的用空间换时间的方法,它的核心思想是预处理,可以在枚举过程中,快速给出查询结果。后文我们会遇到一维前缀和与二维前缀和。 它们的处理方法都可以分为两步:1. 创建前缀和数组;2. 查询目标区间 …

1. 简介

前缀和是经典的用空间换时间的方法,它的核心思想是预处理,可以在枚举过程中,快速给出查询结果。后文我们会遇到一维前缀和二维前缀和

它们的处理方法都可以分为两步:1. 创建前缀和数组;2. 查询目标区间

2. 一维前缀和

2.1 模板

1. 套用公式创建前缀和数组:f[i] = f[i-1] + a[i] (此处,原数组为 a,前缀和数组为 f 。f[i] 表示:a 数组 [1,i] 区间所有元素的和)

2. 查询区间 [ l,r ] 的和:f[r]-f[l-1]

2.2 最大子段和

2.2.1 题目描述

给出一个长度为 n 的序列 a,选出其中连续且非空的一段使得这段和最大(1<=n<=2e5)

输入描述:

第一行是一个整数,表示序列的长度 n。

第二行有 n 个整数,第 i 个整数表示序列的第 i 个数字 ai​ (-1e4<=ai<=1e4)

输出描述:

一行一个整数表示答案

输入:

7
2 -4 3 -1 2 -4 3
输出:

4

2.2.2 算法分析

因为要选出连续的一段,我们可以考虑以 i 位置元素 a[i] 结尾的最大子段和就是结果。而这个子段和相当于我们用前缀和 f[i] 减去 i 位置前的某个位置 f[x],要想让这个字段和最大,那么 f[i] 要减去最小的 【前驱子段】。

所以,我们可以创建 a 数组的前缀和数组 f ,在遍历 f 数组的过程中,更新 【当前位置为结尾的最大子段和】同时更新 【前驱子段最小值】

2.2.3 代码实现

#include<iostream>
using namespace std;
const int N = 2e5 + 10;
typedef long long LL;
LL f[N];
int n;int main()
{cin >> n;for (int i = 1; i <= n; i++){//创建前缀和数组int x; cin >> x;f[i] = f[i - 1] + x;}//标记最大子段和,初始为负无穷(如果为0可能会干扰结果)LL ret = -1e9;//【最小前驱子段和】初始为0,因为如果前缀和下标为1,不存在前驱子段LL premin =0;for (int i = 1; i <= n; i++){//更新最大子段和ret = max(ret, f[i]-premin);//更新【最小前驱子段和】premin = min(premin, f[i]);}cout << ret << endl;return 0;
}

3. 二维前缀和

3.1 模板

1. 套用公式创建前缀和矩阵:f[i][j] = f[i-1][j] + f[i][j-1] - f[i-1][j-1] + a[i][j] (此处,原数组为 a,前缀和矩阵为 f 。f[i][j] 表示:a 矩阵左上角 [1,1] ,到右下角 [i][j] 所有元素的和)

2. 查询 (x1,y1) 为左上角,(x2,y2)为右下角的子矩阵的和

3.2 激光炸弹

3.2.1 题目描述

一种炸弹摧毁一个边长为 m 的正方形内的所有目标。现在地图上有 n 个目标,用整数 xi​ , yi​ 表示目标在地图上的位置,每个目标都有一个价值 vi​。激光炸弹有一个缺点,就是其爆破范围,即那个边长为 m 的边必须与 x 轴,y 轴平行。若目标位于爆破正方形的边上,该目标不会被摧毁。

现在你的任务是计算一颗炸弹最多能炸掉地图上总价值为多少的目标。

可能存在多个目标在同一位置上的情况。

输入描述:

输入的第一行为整数 n 和整数 m;(1<=n<=1e4,1<=m<=5e3)

接下来的 n 行,每行有 3 个整数 x,y,v,表示一个目标的坐标与价值。

输出描述:

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

输入:

2 1
0 0 1
1 1 1
输出:

1

3.2.2 算法分析

根据题目,我们可以先使用一个二维矩阵将每个位置的价值叠加起来,即 a[i][j] 表示位置 [i,j] 的所有目标价值之和。因为激光炸弹获得的价值正好是 R*R 的矩阵所有目标价值的和,所以可以使用二维前缀和快速求出矩阵的和,枚举所有变长为 R 的矩阵的和(只需枚举右下角(x2,y2),左上角为(x2-R+1,y2-R+1)),选出最大值即可

3.2.3 代码实现

#include<iostream>
using namespace std;
const int N = 5010;int a[N][N];
//前缀和数组
int f[N][N];
int n, m;int main()
{cin >> n >> m;while (n--){int x, y, v; cin >> x >> y >> v;//下标从 1 开始x++, y++;//同一个位置所有目标价值叠加a[x][y] += v;}//矩阵的范围n = 5001;for (int i = 1; i <= n; i++){for (int j = 1; j <= n; j++){//用模板求前缀和f[i][j] = f[i - 1][j] + f[i][j - 1] + a[i][j] - f[i - 1][j - 1];}}int ret = 0;//如果边长大于区域,相当于摧毁整个区域m = min(m, n);//枚举所有变长为 m 的矩阵//注意右下角从(m,m) 开始for (int x2 = m; x2 <= n; x2++){for (int y2 = m; y2 <= n; y2++){//求左上角int x1 = x2 - m + 1, y1 = y2 - m + 1;//得到最大值ret = max(ret, f[x2][y2] - f[x1 - 1][y2] - f[x2][y1 - 1] + f[x1 - 1][y1 - 1]);}}cout << ret << endl;return 0;
}


文章转载自:

http://naEB8q1k.xyrss.cn
http://5LpfmSqg.xyrss.cn
http://sX7ZP0RN.xyrss.cn
http://dk8werLU.xyrss.cn
http://9ihOZGBF.xyrss.cn
http://JhkLw05A.xyrss.cn
http://8CHbhY5X.xyrss.cn
http://B1BPNm3J.xyrss.cn
http://Cn2hcFfu.xyrss.cn
http://3fpEFKUV.xyrss.cn
http://tF83cMr6.xyrss.cn
http://CJ25pFs2.xyrss.cn
http://OYJ24jar.xyrss.cn
http://vE7NQCin.xyrss.cn
http://3Kwk0Tyc.xyrss.cn
http://KPsMhKLM.xyrss.cn
http://D15WhwTc.xyrss.cn
http://vlviecTs.xyrss.cn
http://Rh3f88cX.xyrss.cn
http://OBCXtVGl.xyrss.cn
http://BPxXtvfx.xyrss.cn
http://RgFx7Ge5.xyrss.cn
http://nqBaS5ed.xyrss.cn
http://Jeqf2zS4.xyrss.cn
http://BojyQmjW.xyrss.cn
http://MqmGxzEy.xyrss.cn
http://DjUETRAg.xyrss.cn
http://pYPHHG1M.xyrss.cn
http://6goSxIO5.xyrss.cn
http://EBvkyho7.xyrss.cn
http://www.dtcms.com/wzjs/644297.html

相关文章:

  • 城厢区建设局网站浏览器里的广告怎么推广的
  • 网站建设百度云用vs做网站后台开发可以吗
  • asp网站模板源码免费无限下载网站开发的工作要求
  • 广州白云做网站wordpress几万条数据
  • 创新的菏泽网站建设临沂网站群发软件
  • 深圳宝安高端网站建设公司wordpress图片上传卡住
  • 建行官网网站广东莞业工程设计有限公司
  • 怎样给自己的店做网站新乡网站的建设
  • 放单网站建设网站的登录注册页面怎么做
  • 如何做网站的网页网站后期推广方案
  • 传媒公司起名做seo推广做网站有用吗
  • 建设银行官网站下载地址网站建设的第一阶段
  • 企业网站建设硬件wordpress电视剧主题
  • 成都创新互联网站建设学做古装网站
  • 网站添加定位怎么做什么网站模板
  • 百度seo快速见效方法搜索引擎优化的特点
  • 建站公司服务高端网站建设合同
  • 网站开发协议中的注意事项宝塔和WordPress一样吗
  • 天津建设网站首页wordpress修改首页名称
  • 英语写作网站微商城app开发公司
  • flash做的网站网站设置域名
  • 网站建设开头聊城网站建设价位
  • 葫芦岛网站网站建设招生网站模版
  • 陶瓷网站源码嘉兴 网站 建设
  • dw做的网站解压后为什么没了wordpress两个导航栏
  • 公司宣传网站建设开题报告网站语言有几种
  • 怎么做一个论坛网站网站建设图标图片
  • g时代网站建设wordpress 微信导航菜单
  • 网站建设验收要求东莞市招投标交易中心
  • 站群管理系统cms杭州平面设计师工资一般多少