大暴搜 BZOJ3303 太鼓達人

2021-08-06 04:11:29 字數 896 閱讀 8239

鼓的主要元件是m個圍成一圈的感測器。每個感測器都有開和關兩種工作狀態,分別用1和0表示。顯然,從不同的位置出發沿順時針方向連續檢查k個感測器可以得到m個長度為k的01串。vani知道這m個01串應該是互不相同的。而且鼓的設計很精密,m會取到可能的最大值。現在vani已經了解到了k的值,他希望你求出m的值,並給出字典序最小的感測器排布方案。

輸入 乙個整數k。

輸出 乙個整數m和乙個二進位制串,由乙個空格分隔。表示可能的最大的m,以及字典序最小的排布方案,字元0表示關,1表示開。你輸出的串的第乙個字和最後乙個字是相鄰的。

樣例輸入

3 樣例輸出

8 00010111

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

對於全部測試點,2≤k≤11。

old lv說這道題是圖論題,結果我和神犇ltr半個下午都在找規律,然後通過聯絡建圖跑了遍dijsktra……..然後。。然後,老白告訴我正解是大暴搜。。。再想想ltr打表找規律時打了好久。。結果發現他沒剪枝!!!

額。。

#include

#include

#include

#include

using

namespace

std;

int n,a[2050],v[2050],hh;

void dfs(int x,int len)

for(int i=1;i<=(1

exit(0);

}int k=len&hh;

if(!v[k<<1])

if(!v[(k<<1)|1])

}int main()

BZOJ3033 太鼓達人

標籤 尤拉圖,尤拉迴路 description 鼓的主要元件是m個圍成一圈的感測器。每個感測器都有開和關兩種工作狀態,分別用1和0表示。顯然,從不同的位置出發沿順時針方向連續檢查k個感測器可以得到m個長度為k的01串。vani知道這m個01串應該是互不相同的。而且鼓的設計很精密,m會取到可能的最大值...

BZOJ3033 太鼓達人題解

時間限制 1 sec 記憶體限制 128 mb 鼓的主要元件是m個圍成一圈的感測器。每個感測器都有開和關兩種工作狀態,分別用1和0表示。顯然,從不同的位置出發沿順時針方向連續檢查k個感測器可以得到m個長度為k的01串。vani知道這m個01串應該是互不相同的。而且鼓的設計很精密,m會取到可能的最大值...

刷題 BZOJ 3033 太鼓達人

鼓的主要元件是m個圍成一圈的感測器。每個感測器都有開和關兩種工作狀態,分別用1和0表示。顯然,從不同的位置出發沿順時針方向連續檢查k個感測器可以得到m個長度為k的01串。vani知道這m個01串應該是互不相同的。而且鼓的設計很精密,m會取到可能的最大值。現在vani已經了解到了k的值,他希望你求出m...