首页 > 编程语言 >前缀和算法总结

前缀和算法总结

时间:2023-11-27 19:46:19浏览次数:46  
标签:总结 const 前缀 int d% 算法 include

前缀和思维导图:

一维前缀和算法模版:

 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 const int N = 100010;
 6 
 7 int n, m;
 8 int s[N];
 9 
10 int main()
11 {
12     scanf("%d%d", &n, &m);
13     for (int i = 1; i <= n; i++)
14     {
15         int x;
16         scanf("%d", &x);
17         s[i] = s[i - 1] + x;  // 前缀和的初始化
18     }
19     
20     while (m--)
21     {
22         int l, r;
23         scanf("%d%d", &l, &r);
24         printf("%d\n", s[r] - s[l - 1]);  // 区间和的计算
25     }
26     
27     return 0;
28 }
View Code

 

二维前缀和算法模版:

 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 const int N = 1010;
 6 
 7 int n, m, q, x;
 8 int s[N][N];
 9 
10 int main()
11 {
12     scanf("%d%d%d", &n, &m, &q);
13     for (int i = 1; i <= n; i++)
14         for (int j = 1; j <= m; j++)
15         {
16             scanf("%d", &x);
17             s[i][j] = s[i - 1][j] + s[i][j - 1] - s[i - 1][j - 1] + x;
18         }
19     
20     while (q--)
21     {
22         int x1, y1, x2, y2;
23         scanf("%d%d%d%d", &x1, &y1, &x2, &y2);
24         printf("%d\n", s[x2][y2] - s[x1 - 1][y2] - s[x2][y1 - 1] + s[x1 - 1][y1 - 1]);
25     }
26     
27     return 0;
28 }
View Code

 

标签:总结,const,前缀,int,d%,算法,include
From: https://www.cnblogs.com/ykycode/p/17860249.html

相关文章

  • 每日总结11.27
    观察者模式通过本次实验掌握以下内容:1、理解观察者模式的动机,掌握该模式的结构;2、能够利用观察者模式解决实际问题。实验任务:股票提醒当股票的价格上涨或下降5%时,会通知持有该股票的股民,当股民听到价格上涨的消息时会买股票,当价格下降时会大哭一场。 Client.java:publiccl......
  • 排序算法之冒泡排序优化1
    一:概述原始的数列{4,8,6,3,9,2,1,7},执行至第6步和第7步时,数列状态如下:很明显的可以看出,经过第6轮排序之后,整个数列已然是有序的了。可是排序算法依然是继续执行第7轮排序。在这种情况下,如果能判断出数列已经有序,并作出标记,那么剩下的几轮就不必执行了,可以提前结束。二:具体代码优化的......
  • 【Python进阶】第6篇:Python的死锁和IP地址详解。总结md文档集合(已分享,附代码)
    本文从14大模块展示了python高级用的应用。分别有Linux命令,多任务编程、网络编程、Http协议和静态Web编程、html+css、JavaScript、jQuery、MySql数据库的各种用法、python的闭包和装饰器、mini-web框架、正则表达式等相关文章的详细讲述。全套笔记和代码自取地址:请移步这里感......
  • 最小生成树(Kruskal和Prim算法)
    最小生成树(Kruskal和Prim算法)部分资料来源于:最小生成树(Kruskal算法)_kruskal算法求最小生成树-CSDN博客、【算法】最小生成树——Prim和Kruskal算法-CSDN博客关于图的几个概念定义:连通图:在无向图中,若任意两个顶点vi与vj都有路径相通,则称该无向图为连通图。强连通图:在有向图中,若......
  • 写代码的经验和习惯总结
    前言:这篇文章全部记录代码规范,目的是为了让自己写出更加高效优美的代码。持续更新!(草稿)代码书写规范的目的提升代码运行效率增加代码可读性......
  • 2023 11月随笔、总结
    202311月随笔、总结11月份主要在整GTrank平台和Perfeye平台GTrank平台GTrank平台是想要展示一份报告中不同的时间(秒数/帧率)触发了什么事件的一个平台主要有以下几个页面报告列表报告列表用来展示不同报告,可点击进入报告详情页面报告列表-报告详情类似于Per......
  • Proj4:改进LiteOS中物理内存分配算法
    Proj4:改进LiteOS中物理内存分配算法实验目的掌握LiteOS系统调用的自定义方法实验环境Ubantu和IMX6ULLmini实验内容(从代码角度详细描述实验的步骤和过程)原先代码:1/*23*Description:findsuitablefreeblockuse"bestfit"algorithm45*Input......
  • MD5加密算法
    MD5MD5是一种不可逆的加密算法。可以产生出一个128位(16字节)的散列值(hashvalue),用于确保信息传输完整一致md5的特性压缩性:任意长度的数据,算出的MD5值长度都是固定的。容易计算:从原数据计算出MD5值很容易。抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都......
  • 文心一言 VS 讯飞星火 VS chatgpt (144)-- 算法导论12.1 4题
    四、用go语言,对于一棵有n个结点的树,请设计在O(n)时间内完成的先序遍历算法和后序遍历算法。我个人喜欢灵小智。文心一言:在Go语言中,我们可以使用递归来实现树的前序遍历和后序遍历。以下是实现这两种方法的代码。首先,我们定义一个树节点的结构:typeTreeNodestruct{V......
  • 文心一言 VS 讯飞星火 VS chatgpt (144)-- 算法导论12.1 4题
    四、用go语言,对于一棵有n个结点的树,请设计在O(n)时间内完成的先序遍历算法和后序遍历算法。我个人喜欢灵小智。文心一言:在Go语言中,我们可以使用递归来实现树的前序遍历和后序遍历。以下是实现这两种方法的代码。首先,我们定义一个树节点的结构:typeTreeNodestruct{......