题面 有n朵花,编号0∼n−1,一开始都是干旱状态。
每次操作会都使[L,R]区间内的花朵状态发生改变,也就是说,对于花i,L≤i≤R,如果i是干旱状态,则小田田会浇水让花变成正常状态,而如果i是正常状态,会由于天气原因变为干旱状态。
请问k次操作后有多少花是正常状态。
输入 多组输入数据
每组数据第一行两个数n,k(1≤n≤109,1≤k≤105)
接下来k行,每行两个数l,r(0≤l≤r≤n−1)
输出 每组数据一行一个数,表示最后正常状态的花的个数
输入样例
10 1 2 6
输出样例
5
Hint 排序+思维
被浇过奇数次的花为正常状态,被浇过偶数次的花为干旱状态。 如果两个区间重叠,形成三个小区间,第一个第三个为奇数区间正常状态,第二个区间为偶数区间干旱状态。 三个及多个区间同理。 算法为:把给出的区间左右端点放在一起排序,然后从左至右遍历,最后的
1.编程问题的数学抽象和建模 2.C语言库函数快排,要先自己写一个比较函数cmp
//升序函数 int cmp(const void *a,const void *b) { return *(int*)a-*(int*)b; } //降序函数 int cmp(const void *a,const void *b) { return *(int*)b-*(int*)b; } //调用主函数 qsort(a,n,sizeof(a[0]),cmp); //a待排序数组,n数组元素个数