传统题 1000ms 128MiB

小 X 与煎饼达人

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

玩着玩着小 X 觉得有点饿了,他想出门买些吃的。刚刚走出大门,小 X 就看到有位大叔在做煎饼,而且做法十分有趣。只见此人将 n 块煎饼排成一排,手持一把大铲,将煎饼铲得上下翻飞,煞是好看。小 X 顿时食欲大动,赶紧走上前去细细打量,发现此人做煎饼还十分的讲究,在做的过程中,大叔每次会将从第 x 块煎饼开始到第 y 块煎饼结束的这 y-x+1 块煎饼全部翻个个儿(正面翻到反面,反面翻到正面)。而他每次会选择不同的区间(区间是指连续的一段煎饼,如 3, 4, 5, 6 四块煎饼用区间[3, 6] 表示)来翻这些煎饼。每块煎饼都有正反两面,开始时这些煎饼都是反面朝上。

此人一共翻了 m 次煎饼,看得小 X 眼花缭乱。但是小 X 很想知道这 n 块煎饼到最后一共有多少块是正面朝上的,于是他只好求助于你了。

输入格式

输入数据第一行包含两个用空格隔开的正整数表示 n 和 m。 接下来 m 行每行两个用空格隔开的正整数 x 和 y,表示每次将区间[x,y] 中的 y-x+1 块煎饼翻个个儿。

注:开始时这 n 块煎饼都是反面朝上(可以用 0 表示煎饼的反面,1 表示煎饼的正面)。

输出格式

输出仅有一行包含一个整数ans,表示最后有ans块煎饼是正面朝上的。

样例输入

10 5
1 8
5 6
1 9
3 8
2 7

样例输出

5

样例解释

样例中有10块煎饼,初始状态为全反面朝上(用0表示),经过5次区间翻转操作:

  1. 第一次翻转区间[1,8],煎饼状态变为:1 1 1 1 1 1 1 1 0 0;
  2. 第二次翻转区间[5,6],煎饼状态变为:1 1 1 1 0 0 1 1 0 0;
  3. 第三次翻转区间[1,9],煎饼状态变为:0 0 0 0 1 1 0 0 1 0;
  4. 第四次翻转区间[3,8],煎饼状态变为:0 0 1 1 0 0 1 1 1 0;
  5. 第五次翻转区间[2,7],煎饼状态变为:0 1 0 0 1 1 0 1 1 0。 最终统计正面朝上(值为1)的煎饼数量为5,因此输出5。

数据范围

  • 对于 30% 的数据,1 ≤ n,m ≤ 100,1 ≤ x ≤ y ≤ n;
  • 对于另外 30% 的数据,1 ≤ n ≤ 1000000,1 ≤ m ≤ 100000,x = 1,1 ≤ y ≤ n;
  • 对于另外 40% 的数据,1 ≤ n ≤ 1000000,1 ≤ m ≤ 100000,1 ≤ x ≤ y ≤ n。

王老师班级_阶段性小测

未认领
状态
已结束
题目
10
开始时间
2025-9-27 0:00
截止时间
2025-10-25 23:59
可延期
24 小时