干草堆——acwing算法题第二天

简介: 干草堆——acwing算法题第二天

在这里插入图片描述
在这里插入图片描述

题意分析:
该题想考的就是差分,把干草堆当成数组,求出差分数组后,恢复为原数组,输出中间值即可
代码:

#include
#include
#include
int cmp(const void*e1,const void*e2)
{
    
    return *(int*)e1-*(int*)e2;
}
int main()
{
    
    int N,K;
    scanf("%d%d",&N,&K);
    int *ret=(int*)malloc(sizeof(int)*(N+1));
    if(ret==NULL)
    return 0;
    memset(ret, 0, sizeof(int)*(N+1));
    for(int i=0;i<K;i++)   //求出差分数组
    {
    
        int A,B;
        scanf("%d%d",&A,&B);
       ret[A]++;
       ret[B+1]--;
    }
    for(int i=1;i<=N;i++)   //用循环将差分数组恢复为原数组
    {
    
        ret[i]=ret[i]+ret[i-1];
    }
    qsort(ret,N+1,sizeof(int),cmp);   //使用qsort函数进行排序
    printf("%d",ret[N/2+1]);    //输出中间值
    return 0;
}
相关文章
|
4月前
|
算法
双指针算法(acwing)疑难讲解
双指针算法(acwing)疑难讲解
34 0
|
10月前
|
算法
【AcWing算法基础课】第五章 动态规划(未完待续)(3)
当然,一个人能够滑动到某相邻区域的前提是该区域的高度低于自己目前所在区域的高度。
94 0
|
10月前
|
存储 人工智能 算法
【AcWing算法基础课】第四章 数学知识(未完待续)(3)
根据下面公式来预处理出等式右边的组合数的值,那么等式左边就可以用等式右边已经算过的值来进行计算(有点像dp)。
74 0
|
10月前
|
人工智能 算法 BI
【AcWing算法基础课】第四章 数学知识(未完待续)(2)
从2到n枚举每个数,删掉其所有的倍数,枚举完之后,没有被删掉的数为质数。
82 0
|
3月前
|
存储 人工智能 算法
程序与技术分享:Acwing算法笔记
程序与技术分享:Acwing算法笔记
|
10月前
|
算法 存储 内存技术
【AcWing算法基础课】第三章 搜索与图论(2)
特点:尽可能先向纵深方向搜索。使用stack实现。所需空间O(h)(h为深度)。不具有“最短性”。
70 0
【AcWing算法基础课】第三章 搜索与图论(2)
|
10月前
|
算法
【AcWing算法基础课】第五章 动态规划(未完待续)(1)
求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且 总价值最大 。
58 0
【AcWing算法基础课】第五章 动态规划(未完待续)(1)
|
10月前
|
算法 存储 内存技术
【AcWing算法基础课】第三章 搜索与图论(3)
特点:尽可能先向纵深方向搜索。使用stack实现。所需空间O(h)(h为深度)。不具有“最短性”。
99 0
【AcWing算法基础课】第三章 搜索与图论(3)
|
10月前
|
人工智能 算法 JavaScript
【AcWing算法基础课】第五章 动态规划(未完待续)(2)
给定一个如下图所示的数字三角形,从 顶部 出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点, 一直走到底层 ,要求找出一条路径,使 路径上的数字的和最大。
51 0
|
10月前
|
人工智能 算法
【AcWing算法基础课】第四章 数学知识(未完待续)(1)
利用秦九韶算法来实现其他进制转十进制的结果求解
66 0