题解
2026-04-08 20:25:17
发布于:浙江
1阅读
0回复
0点赞
大家好,我是энтджей,今天是我2026年第九次正式发题解!
能不能点个赞
回归正题:
-
首先:
- 理解题意:
- 简单概括就是给你一个区间 然后“删除”M次,每一次“删除”其中的第到第项(从第二行开始的第一个数和第二个数),求还有几个数
- 理解题意:
-
其次:
- 构思思路:
- 直接暴力枚举?(本来以为会TLE的)
- 构思思路:
-
最后:
- 开始写代码:
- 头文件:
#include<bits/stdc++.h> #define int long long using namespace std; const int N = 1e4 + 10; signed main(){ ios::sync_with_stdio(false); cin.tie(0); return 0; }- 定义变量以及输入:
int L,M; int l,r; int cnt = 0; bool vis[N]; cin >> L >> M; while(M--){ cin >> l >> r; } ``` - 暴力枚举处理:
for(;l <= r;l++){ if(!vis[l]){ cnt++; vis[l] = true; } } - 处理输出:
cout << L - cnt + 1;
- 开始写代码:
-
完整代码:
#include<bits/stdc++.h> #define int long long using namespace std; const int N = 1e4 + 10; int L,M; int l,r; int cnt = 0; bool vis[N]; signed main(){ ios::sync_with_stdio(false); cin.tie(0); cin >> L >> M; while(M--){ cin >> l >> r; for(;l <= r;l++){ if(!vis[l]){ cnt++; vis[l] = true; } } } cout << L - cnt + 1; return 0; }
🎉完结撒花🎉
改风格了
这里空空如也




有帮助,赞一个