亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

CF 776D The Door Problem TwoSAT 模板題

2019-11-06 06:08:52
字體:
來源:轉載
供稿:網友

題目鏈接:這里 題意:有n道門,m個開關,每道門由m個開關中的兩個控制,若門的狀態是0(關),那么改變控制這道門的一個開關之后,門的 狀態就變為1(開),若門的狀態是1(開),那么改變控制這道門的一個開關之后,門的狀態就變為0(關)。 現已知n道門的初始狀態,以及m個開關分別控制哪些門,問能不能通過按下某些開關,使得全部門的狀態都變為1。 解法:看到每道門恰好兩個開關控制,想到2-SAT解決。對于每道門,已知控制這道門的開關是x,y,如果這道門的初始狀態為1,那么需要控制它的開關同時為1或者同時開關,相反如果這道門的初始狀態為0,那么需要控制它的開關一個開一個關。所以按照這個邏輯建邊跑TwoSAT就可以了。這也是我寫的第一個TwoSAT,模板是白書模板,感覺也不錯的。

#include <bits/stdc++.h>using namespace std;const int maxn = 1e5+5;int door[maxn];vector <int> v[maxn];struct TwoSAT{ int n; vector <int> G[maxn*2]; bool mark[maxn*2]; int S[maxn*2], c; bool dfs(int x){ if(mark[x^1]) return false; if(mark[x]) return true; mark[x] = true; S[c++] = x; for(int i = 0; i < G[x].size(); i++){ if(!dfs(G[x][i])) return false; } return true; } void init(int n){ this->n = n; for(int i = 0; i < n*2; i++) G[i].clear(); memset(mark, 0, sizeof(mark)); } void addedge(int x, int xval, int y, int yval){ x = x * 2 + xval; y = y * 2 + yval; G[x^1].push_back(y); G[y^1].push_back(x); } bool solve(){ for(int i = 0; i < 2*n; i += 2) if(!mark[i] && !mark[i+1]){ c = 0; if(!dfs(i)){//已經嘗試過把i標記為true,然而不行,那么在嘗試將i+1標記為真時,先把i的影響消掉 while(c > 0) mark[S[--c]] = false; if(!dfs(i + 1)) return false; } } return true; }}twosat;int main(){ int n, m, x, y; cin >> n >> m; for(int i = 0; i < n; i++){ scanf("%d", &door[i]);} for(int i = 0; i < m; i++){ scanf("%d", &x); for(int j = 0; j < x; j++){ scanf("%d", &y); v[y - 1].push_back(i); } } twosat.init(m); for(int i = 0; i < n; i++){ if(door[i]){ twosat.addedge(v[i][0], 0, v[i][1], 1); twosat.addedge(v[i][0], 1, v[i][1], 0); } else{ twosat.addedge(v[i][0], 0, v[i][1], 0); twosat.addedge(v[i][0], 1, v[i][1], 1); } } puts(twosat.solve() ? "YES" : "NO"); return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
俺去啦;欧美日韩| 国产精品极品美女粉嫩高清在线| 亚洲欧美中文日韩v在线观看| 伊人久久男人天堂| 97精品国产97久久久久久| 国产精品久久久久久久久免费| 97欧美精品一区二区三区| 久久精品国产v日韩v亚洲| xxx成人少妇69| 精品中文字幕久久久久久| 国产一区二区三区在线观看视频| 日韩高清电影免费观看完整版| 亚洲午夜av久久乱码| 日韩国产在线看| 91免费视频国产| 亚洲国产精彩中文乱码av| 国精产品一区一区三区有限在线| 国产综合色香蕉精品| 国产拍精品一二三| 国产精品久久久久久久电影| 国产丝袜一区视频在线观看| 少妇激情综合网| 国产精品直播网红| 国产精品久久色| 精品欧美激情精品一区| 久久艹在线视频| 日韩av在线免费播放| 久久精品这里热有精品| 精品久久久久久久久久久久久久| 国产精品爽爽爽爽爽爽在线观看| 精品无码久久久久久国产| 国产精品一久久香蕉国产线看观看| 久久99青青精品免费观看| 欧美性理论片在线观看片免费| 欧美成人精品一区二区三区| 欧美日韩电影在线观看| 久热在线中文字幕色999舞| 欧美精品一区在线播放| 欧美成人剧情片在线观看| 91极品视频在线| 国产在线精品成人一区二区三区| 91免费电影网站| 在线观看视频99| 国产精品亚洲自拍| 欧美成人在线免费视频| 日韩中文字幕在线视频| 国产精品免费看久久久香蕉| 日韩免费视频在线观看| 欧美专区在线视频| 国产中文欧美精品| 欧美精品在线观看| 久久成人亚洲精品| 日产精品99久久久久久| 视频直播国产精品| 国产成人综合一区二区三区| 亚洲新中文字幕| 亚洲欧洲在线播放| 国产精品1区2区在线观看| 欧美另类69精品久久久久9999| 欧美成人免费全部观看天天性色| 九九九久久国产免费| 欧美激情亚洲视频| 国产一区二区在线播放| 美女扒开尿口让男人操亚洲视频网站| 96国产粉嫩美女| 国模精品视频一区二区三区| 欧美国产视频一区二区| 97婷婷涩涩精品一区| 精品在线观看国产| 最近更新的2019中文字幕| 国产精品三级久久久久久电影| 欧美电影第一页| 91sao在线观看国产| 成人有码在线视频| 在线免费观看羞羞视频一区二区| 日本中文字幕久久看| 欧美日本高清视频| 国产一区二区三区四区福利| 国产精品久久婷婷六月丁香| 久久久久久久影视| 欧美午夜激情在线| 久久99久久99精品中文字幕| 亚洲男人的天堂网站| 97在线看福利| 日韩av中文字幕在线| 国产精品吴梦梦| 亚洲激情视频在线播放| 97视频免费在线看| 伊人亚洲福利一区二区三区| 国产精品久在线观看| 久久综合久久八八| 8x拔播拔播x8国产精品| 久久精品国产欧美激情| 国产精品黄色影片导航在线观看| 亚洲欧美日韩精品久久亚洲区| 日韩免费精品视频| 伊人成人开心激情综合网| 成人免费淫片视频软件| 成人日韩av在线| 久久成人精品一区二区三区| 亚洲国产美女久久久久| 国产精品亚洲美女av网站| 91精品久久久久久久久久久久久久| 91色视频在线观看| 日韩免费黄色av| 日韩在线观看免费全| 亚洲成人动漫在线播放| 久久久人成影片一区二区三区观看| 国产va免费精品高清在线| 久久久999国产精品| 成人免费福利在线| 4438全国亚洲精品在线观看视频| 亚洲成人国产精品| 午夜伦理精品一区| 97精品国产97久久久久久| 亚洲精品日韩丝袜精品| 国产美女精品免费电影| 亚洲精品乱码久久久久久金桔影视| 国产激情综合五月久久| 国内外成人免费激情在线视频网站| 亚洲人成网站免费播放| 黑人巨大精品欧美一区免费视频| 亚洲最大激情中文字幕| 亚洲人成网站在线播| 色偷偷偷综合中文字幕;dd| 久久久www成人免费精品| 成人xxxxx| 精品中文字幕在线2019| 高跟丝袜一区二区三区| 北条麻妃一区二区三区中文字幕| 国产精品人人做人人爽| 久久99久久99精品中文字幕| 国产精品偷伦一区二区| 亚洲97在线观看| 亚洲第一级黄色片| 91精品国产91久久久久久久久| 尤物九九久久国产精品的特点| 日韩精品视频在线观看免费| 美女黄色丝袜一区| 成人网在线免费看| 2019中文字幕免费视频| 精品国产户外野外| 欧美国产日韩在线| 国产精品电影网站| 亚洲欧美日韩天堂一区二区| 91在线观看免费高清完整版在线观看| 97成人精品视频在线观看| 国产黑人绿帽在线第一区| 国产精品观看在线亚洲人成网| 欧美成人免费在线视频| 亚洲精品短视频| 久久人91精品久久久久久不卡| 久久九九国产精品怡红院| 亚洲精品有码在线| 亚洲美女视频网站| 色播久久人人爽人人爽人人片视av| 91精品视频观看| 久久成人人人人精品欧| 精品国产欧美一区二区五十路| 久久久在线免费观看| 日韩精品在线观| 色噜噜国产精品视频一区二区| 欧美日韩美女在线观看| 精品国产一区久久久|