10041_堆禾草

2022-5-16 18:16| 发布者: Hocassian| 查看: 105| 评论: 0|原作者: 肇庆学院ACM合集

摘要:
C:\Users\Administrator\Downloads\2019-10-12-10-14-3-89504364417500-Problem List-采集的数据-后羿采集器.html

Pro.ID

10041

Title

堆禾草

Title链接

http://10.20.2.8/oj/exercise/problem?problem_id=10041

AC

68

Submit

444

Ratio

15.32%

时间&空间限制

  • Time Limit: 1000/500 MS (Java/Others)     Memory Limit: 65536/65536 K (Java/Others)
  • 描述

    奶牛Bessie对其过去的恶搞造成的影响感到内疚,所以主动帮农民John把干禾草堆起来。一开始有N ( 1 ≤ N ≤ 1000000, N 是奇数 )个空草堆,分别编号为1,2,...,N。John给她下达了K ( 1 ≤ K ≤ 25000 )个指令,指令的格式是"A B",意思是叫Bessie把编号A到编号B范围里的所有草堆都叠上一捆禾草。例如,Bessie接到指令"10 13",那么她就为草堆10、11、12、13各叠加上一捆禾草。当Bessie根据农民John的指令完成工作后,John想知道N堆草的高度的中位数,也就是说,如果按高度把这些草堆排序,他要知道中间那堆草的高度(N是奇数,所以肯定有中间的一堆草)。

    输入

    有多个测试用例,第一行是一个整数T,表示测试用例的个数。

    每个测试用例的第一行是两个整数 N 和 K。第二行开始共K行,每行是两个整数A和B ( 1 ≤ A ≤ B ≤ N ),表示John的一条指令。

    输出

    Description

    奶牛Bessie对其过去的恶搞造成的影响感到内疚,所以主动帮农民John把干禾草堆起来。一开始有N ( 1 ≤ N ≤ 1000000, N 是奇数 )个空草堆,分别编号为1,2,...,N。John给她下达了K ( 1 ≤ K ≤ 25000 )个指令,指令的格式是"A B",意思是叫Bessie把编号A到编号B范围里的所有草堆都叠上一捆禾草。例如,Bessie接到指令"10 13",那么她就为草堆10、11、12、13各叠加上一捆禾草。当Bessie根据农民John的指令完成工作后,John想知道N堆草的高度的中位数,也就是说,如果按高度把这些草堆排序,他要知道中间那堆草的高度(N是奇数,所以肯定有中间的一堆草)。

    Input

    有多个测试用例,第一行是一个整数T,表示测试用例的个数。

    每个测试用例的第一行是两个整数 N 和 K。第二行开始共K行,每行是两个整数A和B ( 1 ≤ A ≤ B ≤ N ),表示John的一条指令。

    Output

    为每个测试用例输出一行结果:Bessie完成指令后的各草堆高度的中位数。

    Sample Input

    1
    7 4
    5 5
    2 4
    4 6
    3 5

    Sample Output

    1

    Hint

    共有7个堆,4条指令。第一条指令是在第5号堆叠加一捆禾草,第二条指令是在第2、3、4号堆上都叠加一捆禾草,如此类推。

    Bessie完成所有指令后,各草堆的高度是0,1,2,3,3,1,0。草堆的中位数是1,因为按高度排序后的草堆分别是0,0,1,1,2,3,3,中位数是1。

    Source

    样例输入

    1
    7 4
    5 5
    2 4
    4 6
    3 5

    样例输出

    1

    提示

    共有7个堆,4条指令。第一条指令是在第5号堆叠加一捆禾草,第二条指令是在第2、3、4号堆上都叠加一捆禾草,如此类推。

    Bessie完成所有指令后,各草堆的高度是0,1,2,3,3,1,0。草堆的中位数是1,因为按高度排序后的草堆分别是0,0,1,1,2,3,3,中位数是1。


    路过

    雷人

    握手

    鲜花

    鸡蛋

    最新评论

    返回顶部