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

旅游景点网站建设规划书seo网站优化培

旅游景点网站建设规划书,seo网站优化培,中核集团2023校园招聘信息,网站打开有声音是怎么做的ACM- 其他算法 一、前缀和模板例题1、区间余数求K倍区间个数:AcWing 1230. K倍区间例题2、前缀和哈希求最长个数平分子串:Leetcode 面试题 17.05 字母与数字 二、差分1、一维差分2、二维差分 一、前缀和 模板 //一维前缀和 S[i] a[1] a[2] ... a[i] a[l] ... …

ACM- 其他算法

  • 一、前缀和
    • 模板
    • 例题1、区间余数求K倍区间个数:AcWing 1230. K倍区间
    • 例题2、前缀和+哈希求最长个数平分子串:Leetcode 面试题 17.05 字母与数字
  • 二、差分
    • 1、一维差分
    • 2、二维差分

一、前缀和

模板

//一维前缀和
S[i] = a[1] + a[2] + ... a[i]
a[l] + ... + a[r] = S[r] - S[l - 1]//二维前缀和
S[i, j] = 第i行j列格子左上部分所有元素的和
以(x1, y1)为左上角,(x2, y2)为右下角的子矩阵的和为:
S[x2, y2] - S[x1 - 1, y2] - S[x2, y1 - 1] + S[x1 - 1, y1 - 1]

例题1、区间余数求K倍区间个数:AcWing 1230. K倍区间

原题链接: https://www.acwing.com/problem/content/1232/

(原题来源: 第八届蓝桥杯省赛C++B组,第八届蓝桥杯省赛JAVAB组)
在这里插入图片描述

import java.util.Scanner;public class Main{public static int[] sum = new int[100010];  //前缀和取模后public static int[] cnt = new int[100010];  //个数public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int k = sc.nextInt();long ans = 0;cnt[0] = 1;for (int i = 1; i <= n; ++ i) {sum[i] = sum[i - 1] + sc.nextInt(); //计算前缀和sum[i] %= k;  //求出k的整数次倍剩下的数ans += cnt[sum[i]];  //相当于减去前面的余数,得出以i为终点的合法子序列的种数++ cnt[sum[i]];     //更新}System.out.println(ans);}
}

例题2、前缀和+哈希求最长个数平分子串:Leetcode 面试题 17.05 字母与数字

原题链接:https://leetcode-cn.com/problems/find-longest-subarray-lcci/
在这里插入图片描述

思路

字母+1,数字-1,获得array的前缀和数组arr,同时记录和维护当前的sum的最远索引位置,比如对于A 1 A A 1 1 A 1 1 1 A 1 1 A,可以获得前缀和数组:1 0 1 2 1 0 1 0 -1 -2 -1.
我们可以发现对于第一个A来说,能和它匹配的最长子数组是最后一个0的位置.
以此类比,假如当前位置是字母,其前缀和为a,那么最远能匹配的位置一定是最远的前缀和为a-1的地方;
反之,假如当前位置是数字,其前缀和为a,那么最远能匹配的位置一定是最远的前缀和为a+1的地方.

class Solution {
public:static const int N = 100000;int book[N * 2 + 20], arr[N + 20];vector<string> findLongestSubarray(vector<string>& array) {int num = 0, length = array.size();for (int i = 0; i < length; ++ i) {if (isNum(array[i][0])) -- num;else ++ num;book[num + N] = i;arr[i] = num;}vector<string> ans;int maxx = 0, l = -1, r = -1;for (int i = 0; i < length; ++ i) {if (isNum(array[i][0])) { int a = book[N + arr[i] + 1];if (a > i && a - i > maxx) {maxx = a - i;l = i, r = a;}}else {int a = book[N + arr[i] - 1];if (a > i && a - i > maxx) {maxx = a - i;l = i, r = a;}}}if (maxx == 0) return ans;else {for (int i = l; i <= r; ++ i) {ans.push_back(array[i]);}return ans;}}bool isNum(char c) {return c >= '0' && c <= '9';}
};

二、差分

1、一维差分

AcWing 797. 差分

原题链接:https://www.acwing.com/problem/content/799/
在这里插入图片描述
差分定义

首先给定一个原数组a:a[1], a[2], a[3]……a[n];

然后我们构造一个数组b : b[1] ,b[2] , b[3]…… b[i];

使得 a[i] = b[1] + b[2 ]+ b[3] +…… + b[i]

也就是说,a数组是b数组的前缀和数组,反过来我们把b数组叫做a数组的差分数组。
换句话说,每一个a[i]都是b数组中从头开始的一段区间和。

解法

给区间[l, r]中的每个数加上c:B[l] += c, B[r + 1] -= c

代码

#include<bits/stdc++.h>using namespace std;const int N = 100010;//add为差分数组,表示当前位置的变化
int nums[N], add[N];int main() {int n, m;cin >> n >> m;for (int i = 1; i <= n; ++ i) cin >> nums[i];while (m --) {int l, r, c;cin >> l >> r >> c;add[l] += c;add[r + 1] -= c;}for (int i = 1; i <= n; ++ i) {add[i] += add[i - 1];nums[i] += add[i];cout << nums[i] << " ";}return 0;
}

2、二维差分

AcWing 798. 差分矩阵
原题链接:https://www.acwing.com/problem/content/800/
在这里插入图片描述
在这里插入图片描述
看代码应该就差不多了。

#include <bits/stdc++.h>using namespace std;const int N = 1010;int nums[N][N], add[N][N];  //add为差分矩阵void insert(int x1, int y1, int x2, int y2, int c) {add[x1][y1] += c;add[x1][y2 + 1] -= c;add[x2 + 1][y1] -= c;add[x2 + 1][y2 + 1] += c;
}int main() {int n, m, q;cin >> n >> m >> q;for (int i = 1; i <= n; ++ i) {for (int j = 1; j <= m; ++ j) {cin >> nums[i][j];}}while (q --) {int x1, y1, x2, y2, c;cin >> x1 >> y1 >> x2 >> y2 >> c;insert(x1, y1, x2, y2, c);}for (int i = 1; i <= n; ++ i) {for (int j = 1; j <= m; ++ j) {add[i][j] += add[i - 1][j] + add[i][j - 1] - add[i - 1][j - 1];nums[i][j] += add[i][j];cout << nums[i][j] << " ";}cout << endl;}return 0;
}

文章转载自:
http://dinncopulik.bpmz.cn
http://dinncodehumanize.bpmz.cn
http://dinncopersian.bpmz.cn
http://dinncoterm.bpmz.cn
http://dinncoimpressible.bpmz.cn
http://dinncounwatchful.bpmz.cn
http://dinnconylex.bpmz.cn
http://dinncocharlady.bpmz.cn
http://dinncoistana.bpmz.cn
http://dinncounexhausted.bpmz.cn
http://dinncobikie.bpmz.cn
http://dinncozesty.bpmz.cn
http://dinncoflounderingly.bpmz.cn
http://dinncounoriginal.bpmz.cn
http://dinncoboride.bpmz.cn
http://dinncocommemoration.bpmz.cn
http://dinncopersonification.bpmz.cn
http://dinncomagnesuim.bpmz.cn
http://dinncofacedown.bpmz.cn
http://dinncocarniferous.bpmz.cn
http://dinncoincensory.bpmz.cn
http://dinncofrondage.bpmz.cn
http://dinncocensorial.bpmz.cn
http://dinncotropeolin.bpmz.cn
http://dinncoescalation.bpmz.cn
http://dinncopowerboat.bpmz.cn
http://dinncomacroinstruction.bpmz.cn
http://dinncoreaffirm.bpmz.cn
http://dinncorousseauist.bpmz.cn
http://dinncoskopje.bpmz.cn
http://dinncocardiotoxic.bpmz.cn
http://dinncotastefully.bpmz.cn
http://dinncounselective.bpmz.cn
http://dinncogurry.bpmz.cn
http://dinncogenf.bpmz.cn
http://dinncorespondent.bpmz.cn
http://dinncoincandescency.bpmz.cn
http://dinncopruning.bpmz.cn
http://dinncosesterce.bpmz.cn
http://dinncolorcha.bpmz.cn
http://dinncostubbornness.bpmz.cn
http://dinncohttp.bpmz.cn
http://dinncocroquis.bpmz.cn
http://dinncothanatoid.bpmz.cn
http://dinncoperspicuity.bpmz.cn
http://dinncoredaction.bpmz.cn
http://dinncoostrava.bpmz.cn
http://dinncoylem.bpmz.cn
http://dinncosaltbush.bpmz.cn
http://dinncoboxcar.bpmz.cn
http://dinncofallfish.bpmz.cn
http://dinncoastrobiology.bpmz.cn
http://dinncoupwarp.bpmz.cn
http://dinncotarradiddle.bpmz.cn
http://dinncoofaginzy.bpmz.cn
http://dinncorupture.bpmz.cn
http://dinncoanoscope.bpmz.cn
http://dinncoantimagnetic.bpmz.cn
http://dinncoretrodisplacement.bpmz.cn
http://dinncofoin.bpmz.cn
http://dinncopasquale.bpmz.cn
http://dinncomolest.bpmz.cn
http://dinncoturboelectric.bpmz.cn
http://dinncoheterochromatic.bpmz.cn
http://dinncoskyey.bpmz.cn
http://dinncoplaten.bpmz.cn
http://dinncospit.bpmz.cn
http://dinncofatten.bpmz.cn
http://dinncointerdigital.bpmz.cn
http://dinncointroducer.bpmz.cn
http://dinncowomanize.bpmz.cn
http://dinncoragabash.bpmz.cn
http://dinncocowbind.bpmz.cn
http://dinncopusillanimously.bpmz.cn
http://dinncocounterstain.bpmz.cn
http://dinncolubricator.bpmz.cn
http://dinncoisocaloric.bpmz.cn
http://dinncovociferator.bpmz.cn
http://dinncocajun.bpmz.cn
http://dinncoratifier.bpmz.cn
http://dinncodistrust.bpmz.cn
http://dinncotranstainer.bpmz.cn
http://dinnconuminosum.bpmz.cn
http://dinncowoodcutter.bpmz.cn
http://dinncosuperannuation.bpmz.cn
http://dinncochump.bpmz.cn
http://dinncoacceptation.bpmz.cn
http://dinncoblacking.bpmz.cn
http://dinncofervid.bpmz.cn
http://dinncocoruscation.bpmz.cn
http://dinncoemetic.bpmz.cn
http://dinncozunyi.bpmz.cn
http://dinncotremulant.bpmz.cn
http://dinncolustrate.bpmz.cn
http://dinncounreturnable.bpmz.cn
http://dinncoanabas.bpmz.cn
http://dinncoaparejo.bpmz.cn
http://dinncoentrancing.bpmz.cn
http://dinncodogvane.bpmz.cn
http://dinncorunround.bpmz.cn
http://www.dinnco.com/news/130503.html

相关文章:

  • 个人设计网站厦门网站快速排名优化
  • 专门做网站开发的公司陕西seo
  • 做网站是比特币的seo营销优化
  • 网站设计原型图怎么做百度问答平台
  • 河北住房和城乡建设部网站关键词怎么优化
  • 国外门户网站源码长春网站推广排名
  • 效果图网站源码东莞网站自动化推广
  • 赣州网站推广多少钱湖南网络推广机构
  • 创世网络网站建设招商外包
  • 专做医药中间体的网站惠州seo按天付费
  • wordpress個人網站域名现在广告行业好做吗
  • 网络公司名字大全三字seo排名优化app
  • 北京市轨道交通建设管理有限公司网站十大永久免费的软件下载
  • 网站建设优化服务熊掌号网盘资源大全
  • 最专业的医疗网站建设跨境电商培训
  • 松江新城做网站公司可以发广告的平台
  • 上海公司注册信息查询网南宁seo推广公司
  • 入口页奶盘seo伪原创工具
  • wordpress插件证书认证网站小程序运营推广公司
  • 网站做彩票google网站搜索
  • 网站建设好学吗百度seo视频教程
  • 做外国网站中国十大小说网站排名
  • 网站制作开发技术杭州seo网站推广排名
  • 有域名有空间如何做网站seo整站优化多少钱
  • flashfxp 发布网站太原seo外包平台
  • 网站建设目标重庆百度竞价开户
  • 郑州 网站建设的公司女教师遭网课入侵直播录屏曝
  • 海沧网站建设seo商城
  • 望京网站建设网站是如何建立的
  • 所有外包网站市场营销策划包括哪些内容