首页 > 编程语言 >算法

算法

时间:2023-06-27 21:22:27浏览次数:46  
标签:前缀 int 个数 差分 算法 数组 delta

  • 枚举

  •  前缀和,差分

前缀和:sum[ i ] = a[ i ] + sum[i - 1]  前 i 个数的求和。

差分:delta[ i ] = a[ i ] - a[ i -1 ] 第 i 个数 - 第 i-1 个数。

例题:https://ac.nowcoder.com/acm/problem/16649

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 /**
 4 对于区间问题,简化成区间端点的问题;
 5 比如: 前缀和 或者 差分,利用端点既可以维护整个数组,降低时间复杂度
 6 */
 7 int L,M,cnt;
 8 int delta[10010]; //差分数组
 9 
10 int main()
11 {
12     cin>>L>>M;
13     while(M--)
14     {
15         int l,r;
16         scanf("%d%d",&l,&r);
17         if(l>r) swap(l, r);
18         delta[l]++;    //更新差分数组的值
19         delta[r+1]--;
20     }
21     int a=0;//只需要单个的a就可以得到a[i]每一个位置的值,但我们不需要保存,只需要判断a[i]==0即可
22     for(int i=0;i<=L;i++)
23     {
24         a+=delta[i];
25         if(a==0)
26             cnt++;
27     }
28     cout<<cnt;
29     return 0;
30 }     

 

标签:前缀,int,个数,差分,算法,数组,delta
From: https://www.cnblogs.com/ACtoYou/p/17500830.html

相关文章

  • 垃圾回收与算法
    如何确定垃圾1、引用计数法:在Java中,引用和对象是有关联的,如果要操作对象则必须用引用进行。因此,很显然一个简单的办法是通过引用计数来判断一个对象是否可以回收。简单说,即一个对象如果没有任何与之关联的引用,即他们的引用计数都不为0,则说明对象不太可能再被用到,那么这个对象就是可......
  • 自动驾驶横纵向耦合控制-复现Apollo横纵向控制 基于动力学误差模型,使用mpc算法,一个控
    自动驾驶横纵向耦合控制-复现Apollo横纵向控制基于动力学误差模型,使用mpc算法,一个控制器同时控制横向和纵向,实现横纵向耦合控制matlab与simulink联合仿真,纵向控制已经做好油门刹车标定表,跟踪五次多项式换道轨迹,效果完美。内含三套代码,两套采用面向对象编程-一套只对控制量添加约......
  • re | 逆向算法笔记
    凯撒算法加密for(i=0;i<strlen(passwd);i++){if(passwd[i]>='A'&&passwd[i]<='Z'){passwd[i]=((passwd[i]-'A')+move)%26+'A';}elseif(passwd[i]>='a'&&......
  • Prim算法 最小值生成树
    前言:给定一个无向图,如果它的某个子图中任意两个顶点都互相连通并且是一棵树,那么这棵树就叫做生成树(SpanningTree)。如果边上有权值,那么使得边权和最小的生成树叫做最小生成树(MST,MinimumSpanningTree)。例如我们假设有这样一个图:把顶点看作村庄,边看作计划要修建的道路。......
  • 【算法】根据整数数组,生成正的素因子二位数组,并排序
    给定一个正整数或负整数的数组,I=[i1,..,in] 生成一个形式为的排序数组P [[p,I数组的所有ij的和,其中p是ij的素因子(p为正)]…]P将按素数的递增顺序进行排序。 示例:I={12,15};//结果=“(212)(327)(515)”[2,3,5]是I的元素的所有素因子的列表,因此是结果。 注意事项: 如果某些数字为......
  • 基于扩展卡尔曼滤波EKF的语音信号基音估计算法matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:   2.算法涉及理论知识概要      基音是语音信号的基本频率成分,它决定了语音的音调和声音的音高。在语音信号处理中,基音估计是一个重要的任务,它可以用于语音合成、语音识别、语音增强等应用。扩展卡尔曼滤波(ExtendedKalma......
  • 强化学习从基础到进阶-常见问题和面试必知必答[6]:演员-评论员算法(advantage actor-cri
    强化学习从基础到进阶-常见问题和面试必知必答[6]:演员-评论员算法(advantageactor-critic,A2C),异步A2C、与生成对抗网络的联系等详解1.核心词汇优势演员-评论员(advantageactor-critic,A2C)算法:一种改进的演员-评论员(actor-critic)算法。异步优势演员-评论员(asynchronousadvanta......
  • 强化学习从基础到进阶-常见问题和面试必知必答[6]:演员-评论员算法(advantage actor-cri
    强化学习从基础到进阶-常见问题和面试必知必答[6]:演员-评论员算法(advantageactor-critic,A2C),异步A2C、与生成对抗网络的联系等详解1.核心词汇优势演员-评论员(advantageactor-critic,A2C)算法:一种改进的演员-评论员(actor-critic)算法。异步优势演员-评论员(asynchronousadvant......
  • 6-2 最短路径(迪杰斯特拉算法)
    试实现迪杰斯特拉最短路径算法。函数接口定义: voidShortestPath_DIJ(AMGraphG,intv0); 其中 G 是基于邻接矩阵存储表示的有向图, v0表示源点裁判测试程序样例: #include<iostream>usingnamespacestd;#defineMaxInt32767#defineMVNum100typedefchar......
  • 最小生成树(普里姆算法)
    试实现普里姆最小生成树算法。函数接口定义: voidPrim(AMGraphG,charu); 其中 G 是基于邻接矩阵存储表示的无向图,u表示起点裁判测试程序样例: #include<iostream>#defineMVNum10#defineMaxInt32767usingnamespacestd;structedge{charadjvex;......