@[Kaarim](/user/328233) 读题:
> 第一行有 $ 2 $ 个整数 $ L $ 和 $ M $,$ L $ 代表马路的长度,**$ M $ 代表区域的数目**,$ L $ 和 $ M $ 之间用一个空格隔开。
> **接下来的 $ M $ 行**每行包含 $ 2 $ 个不同的整数,用一个空格隔开,表示一个区域的起始点和终止点的坐标。
by ud2_ @ 2020-03-12 07:45:48
@[sjx233_](/user/206953)
```python
def move(road):
_list = list(range(int(road[0]), int(road[1])+1))
for i in _list:
if i in tree:
tree.remove(i)
temp = input().split(' ')
tree = list(range(int(temp[0])+1))
for i in range(int(temp[1])):
move(input().split(' '))
print(len(tree))
```
还是不行
by Kaarim @ 2020-03-13 01:12:41
@[Kaarim](/user/328233) 算法太慢,想想怎么优化(`move` 是 O(n²) 的,可以优化到 O(n))
by ud2_ @ 2020-03-13 07:43:01
```python
lst1 = input().split()
lst2 = [int(i) for i in lst1]
n,m = lst2
sum = 0
lst3 = list()
for i in range(m):
t = [int(x) for x in input().split()]
lst3.append(t)
for j in range(n+1):
for k in lst3:
if k[0]<=j<=k[1]:
break
else:
sum += 1
print(sum)
```
by 扯淡7766 @ 2020-12-22 19:36:43
我这个可以,
思路:将几个区间记录起来,然后用循环判断是否在区间内,
but我觉得应该有这方面的小算法优化,所以有会的大佬请评论指点!
by 扯淡7766 @ 2020-12-22 19:39:29