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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

P7045-[MCOI-03]金牌【构造,交互题】

發布時間:2023/12/3 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 P7045-[MCOI-03]金牌【构造,交互题】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

正題

題目鏈接:https://www.luogu.com.cn/problem/P7045?contestId=36089


題目大意

nnn個物品有一些顏色,可以詢問QQQ次兩個物品的顏色是否相同,求一個排列是的相鄰的物品顏色不同。其中Q≥2n?2Q\geq 2n-2Q2n?2


解題思路

對于每一個不在頭尾的物品,我們需要求出兩個與其顏色不同的物品,當我們判斷兩個物品顏色是否相同時,如果不同,那么我們就各為一個物品找到了一個顏色不同的。如果相同,假設有kkk個顏色相同的物品,那么只需要找到k+1k+1k+1個顏色與他們不同的物品,也就是沒浪費一個詢問找到相同的物品,后面就可以少用一次詢問找不同的物品。所以可以證明如果有解的話那么一定在2n?22n-22n?2次可以詢問出答案。

考慮如何實現,我們開一個棧,如果新的物品和棧頂的顏色相同,那么壓入棧中。否則在序列后面填入一個棧頂元素,如果此時棧為空那么將新的物品壓入棧中,否則直接填在后面。

對于剩下棧中的元素,我們從前面往后開始找位置填入即可。

時間復雜度O(Tn)O(Tn)O(Tn)


codecodecode

#include<cstdio> #include<cstring> #include<algorithm> #include<stack> using namespace std; const int N=5e4+10; int T,n,Q,v[N],z[N],a[N],cnt; stack<int> s; int Ask(int x,int y){int ans;printf("%d %d\n",x-1,y-1);fflush(stdout);scanf("%d",&ans);return ans; } int main() {scanf("%d",&T);v[0]=1;while(T--){scanf("%d%d",&n,&Q);for(int i=1;i<=n;i++)v[i]=z[i]=0;while(!s.empty())s.pop(); cnt=0;s.push(1);int lim=1;for(int i=2;i<=n;i++){bool z=Ask(s.top(),i);if(z){a[++cnt]=s.top();s.pop();if(s.empty())s.push(i),lim=i;else a[++cnt]=i;}else s.push(i);}a[++cnt]=s.top();s.pop();if(s.empty()){printf("%d\n",n); for(int i=1;i<=cnt;i++)printf("%d ",a[i]-1);putchar('\n');fflush(stdout);continue;}for(int i=1;i<lim;i++){v[i]=Ask(a[i],s.top());if(v[i]&&v[i-1]){z[i]=s.top();s.pop();if(s.empty())break;}}if(!s.empty()){printf("-1\n");fflush(stdout);continue;}printf("%d\n",n);for(int i=1;i<=cnt;i++){if(z[i])printf("%d ",z[i]-1);printf("%d ",a[i]-1);}putchar('\n');fflush(stdout);} }

總結

以上是生活随笔為你收集整理的P7045-[MCOI-03]金牌【构造,交互题】的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 亚洲精品无码不卡在线播he | 久久久久久久久久久久久久 | 国产1区在线观看 | av小说免费在线观看 | 99久久成人| 无码国内精品人妻少妇蜜桃视频 | 一级二级三级黄色片 | 国产在线高潮 | 91亚洲网站 | 久久精品一区二区三区黑人印度 | 国产电影一区二区三区爱妃记 | 国产黄色网址在线观看 | 中国极品少妇xxxx做受 | 一区=区三区乱码 | 中文字字幕在线观看 | 天天综合天天做 | 免费成人黄色av | 国产精品视频观看 | 国产精品一区二区白浆 | 国产又黄又粗又爽 | 99国产精品一区二区三区 | 精品麻豆 | 久久久久久久久精 | 女人囗交吞精囗述 | 色噜噜狠狠成人中文 | av综合网站 | 国产日本精品视频 | 日韩二区 | 涩涩网站视频 | 精品综合在线 | 精品久久香蕉国产线看观看亚洲 | 亚洲一卡二卡三卡 | 婷婷中文在线 | 成人片黄网站色大片免费毛片 | 色乱码一区二区三区网站 | 国产黄色一级 | 日韩精品高清在线观看 | 992tv人人草 国产第6页 | 狠狠人妻久久久久久综合蜜桃 | 金鱼妻日剧免费观看完整版全集 | 国产剧情一区 | 一区二区三区四区在线播放 | 亚洲一二三级 | 国产精品视频免费观看 | 精品一区二区久久久久久久网站 | 影音先锋久久久 | 草莓视频一区二区三区 | 色婷婷婷婷 | 婷婷激情网站 | 国产精品国产精品国产专区蜜臀ah | 日韩三级小视频 | 青青草久久伊人 | 捆绑无遮挡打光屁股 | h视频免费在线 | 国产精品美女网站 | 香蕉久久精品日日躁夜夜躁 | 日韩有码在线视频 | 午夜av免费在线观看 | 91手机视频在线观看 | 少妇真人直播免费视频 | 少妇野外性xx老女人野外性xx | 天天黄色片 | 亚洲成成品网站 | 五号特工组之偷天换月 | 黄色三级免费观看 | 91美女在线视频 | 夜夜夜夜爽 | 污污免费观看 | 成人小视频免费观看 | 免费拍拍拍网站 | 精品一区二区三区无码视频 | 成人网入口 | 国产视频一区二区三区四区五区 | 欧美综合色| 一本色道综合久久欧美日韩精品 | 91av小视频| 亚洲av成人无码久久精品老人 | 国产男女猛烈无遮挡免费观看网站 | 成人av网站在线 | 中文字幕精品久久 | 久久日本精品字幕区二区 | 日本黄色a级片 | 日本高清一区二区视频 | 迈开腿让我尝尝你的小草莓 | 国产精品亚洲lv粉色 | 性网爆门事件集合av | 中文在线免费看视频 | 欲色av | 特大黑人娇小亚洲女mp4 | 国产影视一区二区 | 亚洲国产一区二区在线观看 | 国产在线观看免费高清 | 性色欲网站人妻丰满中文久久不卡 | 久久久久99精品成人片试看 | 久热国产精品视频 | 亚洲精品小视频 | 超碰男人的天堂 | 国产精品一区二区入口九绯色 | 在线免费看污视频 |