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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

CodeForces - 1334D Minimum Euler Cycle(构造+模拟)

發(fā)布時(shí)間:2024/4/11 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CodeForces - 1334D Minimum Euler Cycle(构造+模拟) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目鏈接:點(diǎn)擊查看

題目大意:給出一個(gè)由 n 個(gè)頂點(diǎn)組成的完全圖,求出一個(gè)從點(diǎn) 1 出發(fā)的歐拉回路,使得字典序最小,不知道歐拉回路的同學(xué)請(qǐng)自行百度

題目分析:字典序最小,那么就說(shuō)明讓序號(hào)小的頂點(diǎn)在前面,那么一開始肯定是從點(diǎn) 1 到其他頂點(diǎn)然后再回來(lái)是最優(yōu)的,舉個(gè)例子,當(dāng) n = 5 時(shí),與點(diǎn) 1 相連接的序列可以為 1 2 1 3 1 4 1 5 ,注意,到了點(diǎn) n 后,如果再回到點(diǎn) 1 的話,那會(huì)使得無(wú)路可走了,所以此時(shí)可以從點(diǎn) n 再到點(diǎn) 2 ,再重復(fù)上述操作得到的序列為 2 3 2 4 2 5 ,一直這樣操作,最后能得到一個(gè)由 n * ( n - 1 ) + 1 個(gè)點(diǎn)的序列,因?yàn)檫@個(gè)序列在極限數(shù)據(jù)的情況下能達(dá)到 1e10 ,所以題目只要求輸出 [ l , r ] 區(qū)間內(nèi)的這段答案就好了,鑒于已經(jīng)想出了構(gòu)造方法,剩下的我們可以寫一個(gè)函數(shù) cal( i ) ,返回位置 i 是哪個(gè)頂點(diǎn)就好了,至于 cal 函數(shù)的實(shí)現(xiàn),我們可以用二分定位一下,然后根據(jù)奇偶確定答案,實(shí)際實(shí)現(xiàn)起來(lái)比較簡(jiǎn)單

代碼:
?

#include<iostream> #include<cstdio> #include<string> #include<ctime> #include<cmath> #include<cstring> #include<algorithm> #include<stack> #include<climits> #include<queue> #include<map> #include<set> #include<sstream> #include<unordered_map> using namespace std;typedef long long LL;typedef unsigned long long ull;const int inf=0x3f3f3f3f;const int N=1e5+100;LL sum[N],n;int cal(LL pos) {if(pos==n*(n-1)+1)return 1;int j=lower_bound(sum+1,sum+1+n,pos)-sum;int b=pos-sum[j-1];if(b&1)return j;elsereturn j+b/2; }int main() { #ifndef ONLINE_JUDGE // freopen("input.txt","r",stdin); // freopen("output.txt","w",stdout); #endif // ios::sync_with_stdio(false);int w;cin>>w;while(w--){LL l,r;scanf("%lld%lld%lld",&n,&l,&r);for(int i=1;i<=n;i++)sum[i]=sum[i-1]+2*(n-i);for(LL i=l;i<=r;i++)printf("%d ",cal(i));puts("");}return 0; }

?

總結(jié)

以上是生活随笔為你收集整理的CodeForces - 1334D Minimum Euler Cycle(构造+模拟)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。