Sleep Buddies (二進位制狀態壓縮)

2022-05-29 20:15:16 字數 1685 閱讀 5074

演算法:狀態壓縮, 把每乙個集合都壓縮成乙個數字。

使用方法:把每個狀態都進行1<

ac_code

1 #include 2

using

namespace

std;

3 typedef long

long

ll;4

const

int maxn=1e5+10;5

#define rep(i,first,last) for(ll i=first;i<=last;i++)

6#define dep(i,first,last) for(ll i=first;i>=last;i--)

7ll n,m,q,x,y,cnt;

8doublek;9

ll vis[maxn];

10ll flag[maxn];

11void init()19}

20}2122

signed main()

2332 vis[y]++;//

對該集合壓縮後用book記錄與該集合相同的集合一共有幾個,類似於桶排33}

34 scanf("

%lf",&k);

35init();

36 rep(i,1,1023)48

}49}50 printf("

%lld\n

",cnt);

51return0;

52 }

1 #include 2

using

namespace

std;

3 typedef long

long

ll;4

const

int maxn=1e5+10;5

#define lowbit(x) x&(-x)

6#define rep(i,first,last) for(ll i=first;i<=last;i++)

7#define dep(i,first,last) for(ll i=first;i>=last;i--)

8ll n,m,q,x,y,cnt;

9double

k;10

ll vis[maxn];

11ll flag[maxn];

12void init()20}

21}2223

signed main()

2433 vis[y]++;//

對該集合壓縮後用book記錄與該集合相同的集合一共有幾個,類似於桶排34}

35 scanf("

%lf",&k);

36init();

37 rep(i,1,1023)49

}50}51 printf("

%lld\n

",cnt);

52return0;

53 }

參考部落格:點這裡

二進位制 二進位制起源

現代通訊技術的基礎是二進位制編碼。早在1865年麥克斯韋總結出麥克斯韋方程組之前,美國人摩斯 morse 於1837年發明了摩斯電碼和有線電報。有線電報的出現,具有劃時代的意義 它讓人類獲得了一種全新的資訊傳遞方式,這種方式 看不見 摸不著 聽不到 完全不同於以往的信件 旗語 號角 烽火,這也是二進...

判斷二進位製半整數(二進位制)

10年後,tokitsukaze大佬已經變成了年收入超百萬的的精英程式設計師,家裡沒錢也沒礦的teitoku,找tokitsukaze大佬借1000塊錢,然後tokitsukaze大佬說,借你1024吧,湊個整數。沒錯在2進製下1024是 二進位制整數 乙個正整數滿足其值為2的k次方 k為正整數 我...

mysql二進位制 MySql二進位制連線方式詳解

使用mysql二進位制方式連線 您可以使用mysql二進位制方式進入到mysql命令提示符下來連線mysql資料庫。例項以下是從命令列中連線mysql伺服器的簡單例項 root host mysql u root p enter password 在登入成功後會出現 mysql 命令提示視窗,你可以...