本題有兩種解法,其中解法1比較常規,可以很好的理解,複雜度也是很不錯的o(
n)o (n
)解法2在思想上更加簡潔,粗略估計時間複雜度o(
n2) o(n
2)但實際上期望複雜度僅有o(
n1.5
) o(n
1.5)
最重要的是,**複雜度相當低。我寫的解法1有100行,而解法2只有60多行!考場上,解法2當然是最後關頭的最佳選擇。
解法1-強連通分量縮點+拓撲排序
解法2-暴力列舉搜尋
#include
#include
#include
#include
#include
#include
#include
#define sf scanf
#define pf printf
#define maxn 16010
using
namespace
std;
vector
a[maxn];
int n,m,p[maxn];
bool used[maxn];
stack
s;vector
int,int> >l;
bool dfs(int x)
bool check()
if(dfs(p[i])==0)
return
0; }}}
return1;}
int main()
for(int i=1;i<=m;i++)
if(check())
else
pf("nie");
}
模板 2 SAT 問題 2 SAT
2 sat 問題 模板 有n個布林變數 x 1 x n 另有m個需要滿足的條件,每個條件的形式都是 x i 為true false或 x j 為true false 比如 x 1 為真或 x 3 為假 x 7 為假或 x 2 為假 2 sat 問題的目標是給每個變數賦值使得所有條件得到滿足。輸入格式...
洛谷P5782 POI2001 和平委員會
2 sat問題模板 先看兩道 例題 模板 2 sat 問題 滿漢全席 在搞懂上面的題後,這題就並不難了。最主要的就是跑tarjan和連邊。比如說 a,b為乙個黨派,c,d為乙個黨派,且a,c有仇,那麼只能選a,d或b,c。也就是說要在a,d之間連一條邊,在b,c之間連一條邊。上述操作完成後,tarj...
IEEE802工作委員會
ieee 是英文institute of electrical and electronics engineers 的簡稱,其中文譯名是電氣和電子工程師協會。該協會的總部設在美國,主要開發資料通訊標準及其他標準。ieee802 委員會負責起草局 域網草案,並送交美國國家標準協會 ansi 批准和在美...