当前位置: 首页> 财经> 股票 > 郑州专业网站制作服务费用_西安网站建设d西安搜推宝网络_关键词歌词任然_网站管理

郑州专业网站制作服务费用_西安网站建设d西安搜推宝网络_关键词歌词任然_网站管理

时间:2025/7/10 0:59:56来源:https://blog.csdn.net/hnjzsyjyj/article/details/143440454 浏览次数:0次
郑州专业网站制作服务费用_西安网站建设d西安搜推宝网络_关键词歌词任然_网站管理

【题目来源】
https://www.luogu.com.cn/problem/B3631

【题目描述】
实现一个数据结构,维护一张表(最初只有一个元素 1)。需要支持下面的操作,其中 x 和 y 都是 1 到
10^6 范围内的正整数,且保证任何时间表中所有数字均不相同,操作数量不多于 10^5

● 1 x y :将元素 y 插入到 x 后面;
● 2 x :询问 x 后面的元素是什么。如果 x 是最后一个元素,则输出 0;
● 3 x:从表中删除元素 x 后面的那个元素,不改变其他元素的先后顺序。

【输入格式】
第一行一个整数 q 表示操作次数。
接下来 q 行,每行表示一次操作,操作具体间题目描述。

【输出格式】
对于每个操作 2,输出一个数字,用换行隔开。

【输入样例】
6
1 1 99
1 99 50
1 99 75
2 99
3 75
2 1

【输出样例】
75
99

【算法分析】
● 快读函数:
https://blog.csdn.net/hnjzsyjyj/article/details/120131534

int read() { //fast readint x=0,f=1;char c=getchar();while(c<'0' || c>'9') { //!isdigit(c)if(c=='-') f=-1;c=getchar();}while(c>='0' && c<='9') { //isdigit(c)x=x*10+c-'0';c=getchar();}return x*f;
}int x=read();

当输入数据范围超过 10^6 时,建议采用“快读”函数,否则容易导致 TLE。

【算法代码】

#include <bits/stdc++.h>
using namespace std;const int maxn=1e6+5;
int ne[maxn];void insert() {int x,y;cin>>x>>y;ne[y]=ne[x];ne[x]=y;
}void find() {int x;cin>>x;cout<<ne[x]<<endl;
}void del() {int x;cin>>x;ne[x]=ne[ne[x]];
}int main() {int T;cin>>T;while(T--) {int op;cin>>op;switch(op) {case 1:insert();break;case 2:find();break;case 3:del();break;}}return 0;
}/*
in:
6
1 1 99
1 99 50
1 99 75
2 99
3 75
2 1out:
75
99
*/



【参考文献】
https://blog.csdn.net/Engels_Si_Fish/article/details/137658270
https://blog.csdn.net/qingmengk_k/article/details/137395009





 

关键字:郑州专业网站制作服务费用_西安网站建设d西安搜推宝网络_关键词歌词任然_网站管理

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: