题目连接
- 该题是CSP-J2 2021 T4 小熊的果篮
题目大意
给出一个绿球和红球的交叉分布序列,每轮取走所有同色区间最左边的一个,要求将每一轮的取数打印( $ n \leq 2 \times 10^5$)。
样例操作如下图:
解法分析
作为普及组的压轴题,很容易让人浮想联翩,但是仔细分析,可以发现其实也不用高大上的算法或者数据结构(什么分块、排序树,先放一放)。
普遍的做法是队列或者链表完成, O ( n ) O(n) O(n) 即可解决问题。
以下是将每一块打包,然后压进队列,直接模拟扫描即可。
参考代码
//T4-小熊的果篮
//CSP-J2 2021
#include <bits/stdc++.h>
using namespace std;
const int N=2e5+10;
struct node{
int l,r,opt;
};
int n,t;
queue<node> q,temp;
vector<int> ans