小N研究的NP完全問題

2021-07-11 02:01:08 字數 1148 閱讀 2059

什麼np完全問題……

這個就是一道水題。

首先我們可以想到建乙個圖,但是不知所措。

因為每乙個點都可以左右選擇,那麼就是可以把乙個奇數狀態轉移成偶數狀態。

那麼我們一開始就隨便放,然後再乙個點連線的相鄰的兩個點進行連邊,表示可以轉移狀態。

我們會發現很多個聯通塊,如果聯通塊裡面有奇數個權值為奇數的點,那麼就答案只能加一了,很顯然。

那麼我們怎麼找方案數呢?

乙個dfs,建出一顆dfs樹

乙個權值為奇數的點,那麼就表示這個點可以向上串1個1。

我們發現子樹有奇數個權值為奇數的節點,那麼就表示這些1怎麼上傳都不能化成偶數,那麼這個父節點與它向上的連邊的這一條邊選擇的點的方向就要改一下了,好好理解一下,就好了。

#include

#include

#include

#include

#include

#define fo(i,a,b) for(i=a;i<=b;i++)

const int maxn=200007;

using namespace std;

int i,j,k,l,t,n,m,ans;

int first[maxn*2],next[maxn*2],last[maxn*2],num,shu[maxn*2];

int a[maxn*2],b[maxn*2],c[maxn*2],d[maxn*2],tot;

bool bz[maxn];

void add(int

x,int

y,int z)

int dfs(int

x) }

return j;

}int dfs1(int

x) }

return j%2;

}int main()

fo(i,1,n)

fo(i,1,m)

printf("%d\n",ans);

memset(bz,0,sizeof(bz));

fo(i,1,m)

fo(i,1,n)

}

NP完全問題

np完全問題是不確定性圖靈機在p時間內能解決的問題,是 世界七大數學難題 之一。np完全問題排在百萬美元大獎的首位,足見他的顯赫地位和無窮魅力。數學上著名的np問題,完整的叫法是np完全問題,也即 np complete 問題,簡單的寫法,是 np p?的問題。問題就在這個問號上,到底是np等於p,...

NP完全問題

下面是在看 data structures and algorithm analysis in c 一書時所記錄的筆記,大部分為原書內容 np的乙個性質,所有np中的任一問題都能夠多項式地歸約 也即是在多項式複雜度內對映 成np完全問題。也就是說,只要有乙個np問題,其它所有的np問題都可以歸約到它...

NP完全問題

np完全問題,是世界七大數學難題之一,排在百萬美元大獎的首位,夠 力吧!咋不求得獎只需要了解了解它是什麼就可以了。什麼是np完全問題,np non deterministic polynomial,也就是多項式複雜程度的非確定性問題,是不是看漢語翻譯一下子給懵了。沒事,我們慢慢來,要了解np問題,我...