B.牛牛排队伍——模拟双链表

阅读: 评论:0

B.牛牛排队伍——模拟双链表

B.牛牛排队伍——模拟双链表


分析

题目其实很简单,就是双链表的增删查,但是刚开始,直接vis标记删除元素,查找一个位置的前一个用的while不断向前找,但是TLE;毕竟O(n*k)的复杂度,一开始没有考虑时间复杂度,说明只能O(n)线性来解决,刚开始模拟单链表,没用next后继,只用了前驱,有点bug,WA了好几下,后来浩提供的用双链表才过了;注意更新双链表,先更新后继,在更新前驱

#include <bits/stdc++.h>using namespace std;
typedef long long LL;int n, k;
int pre[1000010];
int ne[1000010];int main() {ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cin >> n >> k;for (int i = 1; i <= n; ++i) {pre[i] = i - 1;ne[i] = i + 1;}while (k--) {int op, x;cin >> op >> x;if (op == 1) {//删除x//更新x的前一个元素的后继ne[pre[x]] = ne[x];//更新x的后一个元素的前驱pre[ne[x]] = pre[x];} else {cout << pre[x] << endl;}}return 0;
}

本文发布于:2024-02-05 02:11:24,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170721680262075.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:牛牛   链表   队伍
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23