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

想学策划该从哪入手seo如何建立优化网站

想学策划该从哪入手,seo如何建立优化网站,真正免费建站的网站,wordpress 无法将上传的文件移动至一、一维前缀和 定义 对于数组(a)&#xff0c;其前缀和数组(s)定义为(s[i]aa[1]... a[i])&#xff0c;主要用途是快速计算数组中任意区间的和。 用法 初始化前缀和数组 代码实现&#xff1a; int a[N]; // 原数组 int s[N]; // 前缀和数组 s[0]a[0]; for (int i 1; i < …

一、一维前缀和

  1. 定义
    • 对于数组(a),其前缀和数组(s)定义为(s[i]=a+a[1]+... +a[i]),主要用途是快速计算数组中任意区间的和。
  2. 用法
    • 初始化前缀和数组
      • 代码实现:
        int a[N];  // 原数组
        int s[N];  // 前缀和数组
        s[0]=a[0];
        for (int i = 1; i < N; i++) {s[i]=s[i - 1]+a[i];
        }
        
    • 查询区间和
      • 若查询区间([l,r])的和,可使用(s[r]-s[l - 1])。若(l == 0),则直接返回(s[r])。
      • 代码实现:
        int query(int l, int r) {if (l == 0) return s[r];return s[r]-s[l - 1];
        }
        
  3. 示例
    • 代码示例:
      #include <stdio.h>
      #define N 5
      int main() {int a[N]={1,2,3,4,5};int s[N];s[0]=a[0];for (int i = 1; i < N; i++) {s[i]=s[i - 1]+a[i];}printf("Sum from index 1 to 3: %d\n", query(1,3));  // 输出: 9return 0;
      }
      

二、二维前缀和

  1. 定义
    • 对于二维数组(a),其前缀和数组(s)定义为(s[i][j]=a[0][0]+..... +a[i][j]),主要用途是快速计算二维数组中任意子矩阵的和。
  2. 用法
    • 初始化前缀和数组
      • 代码实现:
        int a[N][M];  // 原二维数组
        int s[N][M];  // 前缀和数组
        s[0][0]=a[0][0];
        for (int i = 1; i < N; i++) {s[i][0]=s[i - 1][0]+a[i][0];
        }
        for (int j = 1; j < M; j++) {s[0][j]=s[0][j - 1]+a[0][j];
        }
        for (int i = 1; i < N; i++) {for (int j = 1; j < M; j++) {s[i][j]=s[i - 1][j]+s[i][j - 1]-s[i - 1][j - 1]+a[i][j];}
        }
        
    • 查询子矩阵和
      • 若查询子矩阵((x1,y1))到((x2,y2))的和,可使用(s[x2][y2]-s[x1 - 1][y2]-s[x2][y1 - 1]+s[x1 - 1][y1 - 1])。若(x1 == 0)或(y1 == 0),则需特殊处理。
      • 代码实现:
        int query(int x1, int y1, int x2, int y2) {if (x1 == 0 && y1 == 0) return s[x2][y2];if (x1 == 0) return s[x2][y2]-s[x2][y1 - 1];if (y1 == 0) return s[x2][y2]-s[x1 - 1][y2];return s[x2][y2]-s[x1 - 1][y2]-s[x2][y1 - 1]+s[x1 - 1][y1 - 1];
        }
        
  3. 示例
    • 代码示例:
      #include <stdio.h>
      #define N 3
      #define M 3
      int main() {int a[N][M] = {{1,2,3},{4,5,6},{7,8,9}};int s[N][M];s[0][0]=a[0][0];for (int i = 1; i < N; i++) {s[i][0]=s[i - 1][0]+a[i][0];}for (int j = 1; j < M; j++) {s[0][j]=s[0][j - 1]+a[0][j];}for (int i = 1; i < N; i++) {for (int j = 1; j < M; j++) {s[i][j]=s[i - 1][j]+s[i][j - 1]-s[i - 1][j - 1]+a[i][j];}}printf("Sum from (1,1) to (2,2): %d\n", query(1,1,2,2));  // 输出: 28return 0;
      }
      

s[i][j]=s[i - 1][j]+s[i][j - 1]-s[i - 1][j - 1]+a[i][j];此代码可转化为子矩阵面积来理解

三、总结

  • 一维前缀和:用于快速计算数组中任意区间的和。
  • 二维前缀和:用于快速计算二维数组中任意子矩阵的和。
  • 这两种前缀和技巧在处理区间和问题时非常高效,能够将时间复杂度从(O(n))或(O(n^{2}))降低到(O(1))。
http://www.dtcms.com/wzjs/213783.html

相关文章:

  • 网站建设 唐山如何自己开发一个网站
  • 网站做3年在百度上怎么发布信息
  • 我们的网站建立于美国网络推广要求
  • dw做电影网站成都网站搜索排名优化公司
  • 深圳国税局网站怎么做票种核定关键词推广怎么做
  • 专门做ppt的网站厦门seo外包
  • 枸橼酸西地那非片是什么seo经验是什么
  • cms做门户网站市场营销策划
  • 网站建设个人网上银行seo外链怎么做能看到效果
  • 叶榭做网站100个成功营销策划案例
  • 南京自媒体公司代做seo排名
  • 陕西省建设网一体化平台seo公司哪家好
  • iphone下载网页视频真人seo点击平台
  • 邵阳市住房和城乡建设局网站社会化媒体营销
  • 网站生成器apk怎么做网络营销业务流程
  • 做产品网站建设企业宣传软文
  • 公司网站建设推广推广渠道平台
  • 怎么做展示型网站网络优化工程师为什么都说坑人
  • 安徽安搜做的网站怎么样网站推广网
  • 电商网站怎样做优化才最合理成都新一轮疫情
  • 怎样在网上做网站长春做网络优化的公司
  • 学做土建资料员的网站品牌营销咨询公司
  • web视频网站开发培训计划方案模板
  • seo网站分析南宁推广公司
  • 哪个网站做设计可以挣钱2023年7月最新疫情
  • 网上做涉黄网站怎么判深圳百度开户
  • 旅游类网站模板信息流广告的特点
  • dreamweaver怎样用框架做网站seo网站快速排名
  • 承建网站培训机构专业
  • wordpress+4.2.1嘉兴网站建设方案优化