HDU 5765 Bonds 巧妙狀壓暴力

2022-07-22 13:21:11 字數 1021 閱讀 9023

題意:給乙個20個點無向連通圖,求每條邊被多少個極小割集包括

然後就是奉上官方題解: 2016多校訓練第4場1003

其實大體思路就是每次列舉一種可能的割集,即狀壓列舉,其中有不合法的,可以通過預處理標記所有的合法狀態

剩下的就是貼**了,好好看**細節才是最重要的

#include #include 

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

typedef

long

long

ll;const

int n = (1

<<20)+5

;int g[n],sum[n],t,kase,n,m,u[205],v[205

],tot;

bool

can[n];

queue

q;inline

int lowbit(int x)

intmain()

for(int i=1;ii)

g[i]|=g[i-lowbit(i)]|g[lowbit(i)];

for(int i=0;i1

<1

;

while(!q.empty())

}int all=0

;

for(int i=1;ii)

}for(int j=0;jj)

printf(

"case #%d:

",++kase);

for(int i=0;ii)

printf("%d

",all-sum[(1

<1

<

printf("\n

");

} return0;

}

view code

HDU 5765 Bonds(bfs 高維字首和)

description 給乙個n個點的無向連通圖,求每條邊被多少個極小割邊集包括 input 第一行一整數t表示用例組數,每組用例首先輸入兩個整數n和m表示點數和邊數,之後m行每行兩個整數u和v表示u,v之間有一條邊 t 20,2 n 20,n 1 m n n 1 2 output 對於每組用例,輸...

JZOJ5765 相互再歸的鵝媽媽

給出乙個01串,代表乙個二進位制數r,求包含n個非負整數 且每個整數的二進位制小於r的集合個數。先考慮有序的,可重集怎麼求,最後再除以n 設gi g i表示人數為 i i 允許出現相同的滿足條件的集合數,對於乙個人的二進位制位,我們在乙個r是1的位置填上0,這以後的數字都可以任意填,且對於其他人的無...

hdu1285 hdu4857 拓撲排序

一 原題內容 problem description 有n個比賽隊 1 n 500 編號依次為1,2,3,n進行比賽,比賽結束後,裁判委員會要將所有參賽隊伍從前往後依次排名,但現在裁判委員會不能直接獲得每個隊的比賽成績,只知道每場比賽的結果,即p1贏p2,用p1,p2表示,排名時p1在p2之前。現在...