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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【BZOJ-3033】太鼓达人 欧拉图 + 暴搜

發(fā)布時間:2023/12/10 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【BZOJ-3033】太鼓达人 欧拉图 + 暴搜 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

3033: 太鼓達人

Time Limit: 1 Sec??Memory Limit: 128 MB
Submit: 204??Solved: 154
[Submit][Status][Discuss]

Description

  七夕祭上,Vani牽著cl的手,在明亮的燈光和歡樂的氣氛中愉快地穿行。這時,在前面忽然出現(xiàn)了一臺太鼓達人機臺,而在機臺前坐著的是剛剛被精英隊伍成員XLk、Poet_shy和lydrainbowcat拯救出來的的applepi。看到兩人對太鼓達人產(chǎn)生了興趣,applepi果斷閃人,于是cl拿起鼓棒準(zhǔn)備挑戰(zhàn)。然而即使是在普通難度下,cl的路人本性也充分地暴露了出來。一曲終了,不但沒有過關(guān),就連鼓都不靈了。Vani十分過意不去,決定幫助工作人員修鼓。

  鼓的主要元件是M個圍成一圈的傳感器。每個傳感器都有開和關(guān)兩種工作狀態(tài),分別用1和0表示。顯然,從不同的位置出發(fā)沿順時針方向連續(xù)檢查K個傳感器可以得到M個長度為K的01串。Vani知道這M個01串應(yīng)該是互不相同的。而且鼓的設(shè)計很精密,M會取到可能的最大值。現(xiàn)在Vani已經(jīng)了解到了K的值,他希望你求出M的值,并給出字典序最小的傳感器排布方案。

Input

  一個整數(shù)K。

Output

 一個整數(shù)M和一個二進制串,由一個空格分隔。表示可能的最大的M,以及字典序最小的排布方案,字符0表示關(guān),1表示開。你輸出的串的第一個字和最后一個字是相鄰的。

Sample Input

3

Sample Output

8 00010111

HINT

 得到的8個01串分別是000、001、010、101、011、111、110和100。注意前后是相鄰的。長度為3的二進制串總共只有8種,所以M = 8一定是可能的最大值。

  對于全部測試點,2≤K≤11。

Source

Poetize2

Solution

看了一會,確信第一問為$2^{k}$但是不會證...第二問并不會搞

其實做之前是專門奔著 歐拉圖 來的QAQ

好叭,很顯然是個歐拉圖,每個階段有兩個點$0$和$1$,很顯然每個點的入讀=出度=2,那么就符合歐拉圖的判定了

那么第一問的正確性可知

因為是歐拉圖,必然存在歐拉路徑,那么只需要對整個圖暴搜一遍答案即可,因為歐拉圖,暴搜的時間復(fù)雜度實際是$O(n)$的,因為幾乎可以認(rèn)為是一口氣走到底

于是就可以1s無壓力過所有點

啟示:一些看似和圖沒太大關(guān)聯(lián)的東西,應(yīng)該拓寬一下思路嘗試往圖上靠,利用一些性質(zhì)可能會發(fā)現(xiàn)一些不錯的東西 (更好的栗子:墨墨的等式)

Code

#include<iostream> #include<cstdio> #include<algorithm> #include<cmath> #include<cstring> using namespace std; int M,K,ans[1<<12]; bool visit[1<<12]; bool DFS(int x,int dep) {if (visit[x]) return 0;visit[x]=1;ans[dep]=x>>(K-1);if (dep==M) return 1;if (DFS((x<<1) & (M-1),dep+1)) return 1;if (DFS((x<<1|1) & (M-1),dep+1)) return 1;visit[x]=0;return 0; } int main() {scanf("%d",&K); printf("%d ",M=1<<K);DFS(0,1);for (int i=1; i<=M; i++) printf("%d",ans[i]);return 0; }

突然想做歐拉圖的原因在于 英語必修五Unit1的某篇Reading居然講的歐拉圖TAT,發(fā)現(xiàn)自己好像沒怎么做過啊...

轉(zhuǎn)載于:https://www.cnblogs.com/DaD3zZ-Beyonder/p/5615414.html

總結(jié)

以上是生活随笔為你收集整理的【BZOJ-3033】太鼓达人 欧拉图 + 暴搜的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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