題目
2-sat裸題,最近剛剛學了這個東西,畢竟noi考過呀。
建邊就是考慮限制條件如果x選什麼,y就一定選什麼之類的,然後跑一遍tarjan縮點,如果存在乙個點和它的相反點在乙個強連通分量中,那麼就沒解,否則一定有解。
至於輸出乙個解,只要看mark的大小就好了,選小的就好了。
#include
#define n 100000
using
namespace
std;
int t,n,m,ans;
int first[n+5],to[n+5],nxt[n+5],siz;
char op1[n+5],op2[n+5];
int id1[n+5],id2[n+5];
int dfn[n+5],low[n+5],ind,mark[n+5],id;
int stk[n+5],in[n+5],top;
inline
void link(int x,int y)
inline
char nc()
inline
int read()
inline
void write(int x)
putchar(' ');
}inline
void tarjan(int x)
if(dfn[x]==low[x])
while(tmp!=x);
}}int main()
memset(mark,0,sizeof(mark));
memset(dfn,0,sizeof(dfn));
memset(low,0,sizeof(low));
id=ind=0;
for(int i=1;i<=2*n;i++)if(!dfn[i])tarjan(i);
ans=1;
for(int i=1;i<=n;i++)if(mark[i]==mark[i+n])ans=0;
if(ans)printf("good\n");
else
printf("bad\n");
} return
0;}
bzoj1823 JSOI2010 滿漢全席
description 滿漢全席是中國最豐盛的宴客菜餚,有許多種 同的材 透過滿族或是漢族的 方式,呈現在 繁多的菜色之中。由於菜色眾多而繁雜,只有極少 博學多聞技藝高超的廚師能夠做出滿漢全席,而能夠烹飪出經過專家認證的滿漢全席,也是中國廚師最大的榮譽之一。世界滿漢全席協會是由能夠 滿漢全席的專家廚...
BZOJ 1823 JSOI2010 滿漢全席
題目在這裡呀!真不知道這道題說了這麼多有什麼用。就是每種菜有m和h兩種,然後只能取其中乙個,然後有m條限制,表示取了前乙個就不能取後乙個了,然後求可不可行?看懂題意就是很裸的2 sat了 雖然我題意說的一點都不清楚 suplex include include include include inc...
BZOJ1823 JSOI2010 滿漢全席
bzoj luogu 你有 n 到菜要做,每道菜可以做成漢式或滿式做法。有 m 評委,每個評委會指定兩道菜 以及做法 要求你至少要做出其中的一道。問是否存在一組解滿足所有評委的需求。直接 2 sat 啊。為什麼其他題解都寫的是拆成 4n 個點的啊qaq 明明拆成 2n 個點就好了啊qaq inclu...