日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Luogu P1160 【队列安排】

發布時間:2025/4/9 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Luogu P1160 【队列安排】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

詳細的鏈表講解

很明顯的一個鏈表裸題

和普通的鏈表有一個區別就是這個題

可以O(1)插入,O(1)查詢

然后我們為了方便,采用雙向鏈表,定義s、f作為指針數組

更詳細的解釋見代碼

#include<iostream> using namespace std; const int maxn=1e5+10; int n,m,cnt,s[maxn],f[maxn],fi; int main() {cin>>n;for(int i=2;i<=n;i++){int k,p;cin>>k>>p;if(!p) //插入到左邊 {s[i]=k; //更新被影響的節點的指針f[i]=f[k];s[f[k]]=i;f[k]=i;}else //插入到右邊 {f[i]=k;s[i]=s[k];f[s[k]]=i;s[k]=i;}}cin>>m;while(m--) //刪除 {int x;cin>>x;if(f[x]==-1)continue;f[s[x]]=f[x];s[f[x]]=s[x];f[x]=s[x]=-1;}for(int i=1;i<=n;i++) //尋找頭指針if(!f[i]){fi=i;break;}for(int i=fi;i;i=s[i]) //輸出鏈表cout<<i<<' ';cout<<endl;return 0; }

?

轉載于:https://www.cnblogs.com/ivanovcraft/p/9057821.html

總結

以上是生活随笔為你收集整理的Luogu P1160 【队列安排】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。