1 条题解
-
1
使用双端队列模拟即可。虽然D命令里面的K大于1,但是A命令里面加入队列的元素是O(S)的,因此所有K加起来的和是O(S)的,时间复杂度可以接受。
核心代码
cin >> s; for(int i = 1 ; i <= s ; i++){ cin >> a >> b; if (a == "A") { if (b == "L") { que.push_front(++cnt); } else { que.push_back(++cnt); } } else { cin >> k; for (int j = 1; j <= k; j++) { if (b == "L") { que.pop_front(); } else { que.pop_back(); } } } } while (!que.empty()) { cout << que.front() << endl; que.pop_front(); }
- 1
信息
- ID
- 722
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 4
- 标签
- (无)
- 递交数
- 49
- 已通过
- 25
- 上传者