日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Codeforces Round #585 (Div. 2) F. Radio Stations 2-sat + 神仙建模

發(fā)布時間:2023/12/4 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Codeforces Round #585 (Div. 2) F. Radio Stations 2-sat + 神仙建模 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

傳送門

文章目錄

  • 題意:
  • 思路:

題意:

你現(xiàn)在有ppp種電臺,有nnn對關(guān)系(x,y)(x,y)(x,y)代表xxx電臺或yyy電臺中至少有一個,mmm對關(guān)系(x,y)(x,y)(x,y)代表xxx電臺或yyy電臺中最多有一個,每個電臺有兩個參數(shù)li,ril_i,r_ili?,ri?,你需要在[1,M][1,M][1,M]中選擇一個主頻fff,如果f∈[li,ri]f\in [l_i,r_i]f[li?,ri?],那么第iii個電臺你可以選擇是否啟用,否則無法啟用。

請給出fff并構(gòu)造電臺啟用方案,無解輸出?1-1?1

2≤n,p,m,M≤4e52\le n,p,m,M\le 4e52n,p,m,M4e5

思路:

對于n,mn,mn,m這幾個條件,顯然是2?sat2-sat2?sat板子了,以下設(shè)uuu代表選uuu這個點,u′u'u代表不選uuu這個點。

對于nnn對關(guān)系,我們建x′?>y,y′?>xx'->y,y'->xx?>y,y?>x

對于mmm對關(guān)系,我們建x?>y′,y?>x′x->y',y->x'x?>y,y?>x

熱身完畢,現(xiàn)在開始正菜。

考慮如何制定fff呢?我們運用前綴和的思想,嘗試將[l,r][l,r][l,r]拆成[1,l?1],[1,r][1,l-1],[1,r][1,l?1],[1,r]

我們把f∈[1,li?1],f∈[1,ri]f\in [1,l_i-1],f\in [1,r_i]f[1,li??1],f[1,ri?]的真值表寫出來。

f∈[1,li?1]f∈[1,ri]i能否啟用00001110不存在110\begin{array}{ccc} f\in [1,l_i-1] & f\in [1,r_i] & i能否啟用 \\ \hline \ 0&0&0\\ \ 0&1&1\\ \ 1&0&不存在\\ \ 1&1&0\\\\\end{array}f[1,li??1]?0?0?1?1?f[1,ri?]0101?i010??

我們可以發(fā)現(xiàn)總結(jié)一下就是以下三個限制:

(1)(1)(1)f∈[1,li?1]f\in [1,l_i-1]f[1,li??1],則iii不能啟用。

(2)(2)(2)f∈[1,ri]f\in [1,r_i]f[1,ri?]不滿足,則iii不能啟用。

(3)(3)(3)iii啟用,則f∈[li,ri]f\in [l_i,r_i]f[li?,ri?]

所以我們拿出來[n+1,n+M+1][n+1,n+M+1][n+1,n+M+1]來代表[0,M][0,M][0,M],我們用這個來繼續(xù)限制。

我們設(shè)滿足n+i+1n+i+1n+i+1的時候就是f≤if\le ifi,否則f>if>if>i

首先就是n+i+1?>n+i+2,(n+i+2)′?>(n+i+1)′n+i+1->n+i+2,(n+i+2)'->(n+i+1)'n+i+1?>n+i+2,(n+i+2)?>(n+i+1),這個比較顯然,因為f≤if\le ifi,那么f≤i+1f\le i+1fi+1,如果f>i+1f>i+1f>i+1,那么f>if>if>i

讓后就是限制一下上面的條件

(1)(1)(1) n+li?>i′,i?>(n+li)′n+l_i->i',i->(n+l_i)'n+li??>i,i?>(n+li?)

(2)(2)(2)(n+ri+1)′?>i′,i?>n+ri+1(n+r_i+1)'->i',i->n+r_i+1(n+ri?+1)?>i,i?>n+ri?+1

還有就是fff不能為000,這個用n+1?>(n+1)′n+1->(n+1)'n+1?>(n+1)限制一下即可,算是2?sat2-sat2?sat的小技巧了。

跑完之后,n+f+1n+f+1n+f+1成立而n+fn+fn+f不成立的時候的分界點就是fff

// Problem: F. Radio Stations // Contest: Codeforces - Codeforces Round #585 (Div. 2) // URL: https://codeforces.com/contest/1215/problem/F // Memory Limit: 256 MB // Time Limit: 7000 ms // // Powered by CP Editor (https://cpeditor.org)//#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math") //#pragma GCC target("sse,sse2,sse3,ssse3,sse4.1,sse4.2,avx,avx2,popcnt,tune=native") //#pragma GCC optimize(2) #include<cstdio> #include<iostream> #include<string> #include<cstring> #include<map> #include<cmath> #include<cctype> #include<vector> #include<set> #include<queue> #include<algorithm> #include<sstream> #include<ctime> #include<cstdlib> #include<random> #include<cassert> #define X first #define Y second #define L (u<<1) #define R (u<<1|1) #define pb push_back #define mk make_pair #define Mid ((tr[u].l+tr[u].r)>>1) #define Len(u) (tr[u].r-tr[u].l+1) #define random(a,b) ((a)+rand()%((b)-(a)+1)) #define db puts("---") using namespace std;//void rd_cre() { freopen("d://dp//data.txt","w",stdout); srand(time(NULL)); } //void rd_ac() { freopen("d://dp//data.txt","r",stdin); freopen("d://dp//AC.txt","w",stdout); } //void rd_wa() { freopen("d://dp//data.txt","r",stdin); freopen("d://dp//WA.txt","w",stdout); }typedef long long LL; typedef unsigned long long ULL; typedef pair<int,int> PII;const int N=2000010,M=N*10,mod=1e9+7,INF=0x3f3f3f3f; const double eps=1e-6;int p,n,q,m; int e[M],ne[M],h[N],idx; int dfn[N],low[N],id[N],tot,cnt; int stk[N],top; bool in[N];void add(int a,int b) {e[idx]=b,ne[idx]=h[a],h[a]=idx++; }void tarjan(int u) {dfn[u]=low[u]=++tot;stk[++top]=u; in[u]=true;for(int i=h[u];~i;i=ne[i]){int ver=e[i];if(!dfn[ver]){tarjan(ver);low[u]=min(low[u],low[ver]);}else if(in[ver]) low[u]=min(low[u],dfn[ver]);}if(dfn[u]==low[u]){int y; ++cnt;do{y=stk[top--];in[y]=false; id[y]=cnt;}while(y!=u);} }int yes(int x) { return x<<1; }int no(int x) { return x<<1|1; }void link(int x,int y) {add(x,y); add(y^1,x^1); }bool check() {for(int i=0;i<=n+m;i++) if(id[yes(i)]==id[no(i)]) return false;return true; }int main() { // ios::sync_with_stdio(false); // cin.tie(0);scanf("%d%d%d%d",&p,&n,&m,&q);idx=0;memset(h,-1,sizeof(h));for(int i=1;i<=p;i++) {int a,b; scanf("%d%d",&a,&b);a--; b--;// add(2*a,2*b+1); // add(2*b,2*a+1);link(no(a),yes(b));}for(int i=0;i<m;i++) {// add(n*2+i*2+1,n*2+(i+1)*2+1),add(n*2+(i+1)*2,n*2+i*2);link(yes(n+i),yes(n+i+1));}// link(yes(n),no(n));// add(n*2,n*2+1);// add(n*2+1,n*2);for(int i=0;i<n;i++) {int l,r; scanf("%d%d",&l,&r);l--; link(yes(i),no(n+l));link(yes(i),yes(n+r));// add(n*2+l*2+1,i*2); add(i*2+1,n*2+l*2);// add(n*2+r*2,i*2); add(i*2+1,n*2+r*2+1);}for(int i=1;i<=q;i++) {int a,b; scanf("%d%d",&a,&b);a--; b--;link(yes(a),no(b));// add(a*2+1,b*2);// add(b*2+1,a*2);}//n*2+(m+1)*2for(int i=0;i<2*n+(m+1)*2;i++) if(!dfn[i]) tarjan(i);if(check()) {vector<int>ans;for(int i=0;i<n;i++) if(id[yes(i)]<id[no(i)]) ans.pb(i+1);for(int i=1;i<=m;i++) if(id[yes(n+i)]<id[no(n+i)]) {printf("%d %d\n",ans.size(),i);break;}for(auto x:ans) printf("%d ",x); puts("");} else puts("-1");return 0; }

總結(jié)

以上是生活随笔為你收集整理的Codeforces Round #585 (Div. 2) F. Radio Stations 2-sat + 神仙建模的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中文字幕最新 | 一区二区三区视频在线播放 | 亚洲一区二区视频在线观看 | 无码人妻久久一区二区三区 | 一区二区av在线 | 秋霞网av| 91av导航| 天天搞天天搞 | 午夜少妇 | 精品久久久久一区二区国产 | 色性网站 | 一区二区三区国产av | a级片在线免费观看 | 日韩69视频 | 国产一区二区精华 | 男女日批视频 | 日日夜夜国产 | 人妻夜夜爽天天爽三区麻豆av网站 | 99久久黄色| 久久3p | 欧美日韩六区 | 亚洲黄色av | 人妻av一区二区三区 | 中日韩在线观看视频 | 国产成人久久精品流白浆 | 日本xxxx高潮少妇 | 免费瑟瑟网站 | 中国a一片一级一片 | 日韩精品一区二区三区中文在线 | 久热草 | 亚洲欧美激情精品一区二区 | 五月天国产在线 | 国产男人的天堂 | 亚洲涩视频| 国产成人精品a视频一区 | 日韩在线成人 | 亚洲色图第三页 | 完全免费在线视频 | 国产欧美精品一区二区三区 | 黄色茄子视频 | 99久久人妻无码中文字幕系列 | 久久久久成人精品免费播放动漫 | av毛片在线免费看 | 国产真实老熟女无套内射 | 在线看v片| 精品国产乱子伦一区二区 | 亚洲高清视频在线观看 | 国产又粗又猛又爽视频 | 亚洲爱v| 国产h视频在线 | 在线手机av| 欧美在线 | 亚洲 | 黄色成人在线播放 | 成年网站免费在线观看 | 91精品国产91久久久久久久久久久久 | 超碰成人97 | av网站亚洲| 国产美女永久免费无遮挡 | 国产免费看| 催眠美妇肉奴系统 | 在线观看的网站 | 欧美日韩精品电影 | 91一区二区国产 | 污色视频| 中文字幕一区二区三区在线观看 | 一级片免费视频 | 亚洲乱色熟女一区二区三区 | 嘿嘿射在线| 天堂中文字幕在线观看 | 久久久久亚洲精品中文字幕 | 精品国产乱码久久久久久1区2区 | 一区二区在线不卡 | 国产精品久久久久久影视 | 337p日本大胆噜噜噜噜 | 成熟妇人a片免费看网站 | 91中文在线 | 午夜激情在线观看视频 | 91福利一区 | 欧美激情影院 | 夜夜爽www | 免费视频污 | 欧美囗交做爰视频 | 91在线无精精品白丝 | 欧美美女啪啪 | 永久看看免费大片 | 香港三级网站 | 原神淫辱系列同人h | 欧美日韩成人免费观看 | 四虎国产成人精品免费一女五男 | av网站有哪些 | 人妖一级片 | 婷婷六月综合网 | 国产精品美女久久久 | 伊人天堂网 | 久久久久久综合网 | 日韩黄色av网站 | 国产极品91 | 成人午夜一区二区 | 激情综合五月网 |