日韩性视频-久久久蜜桃-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)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产偷怕| 亚洲加勒比在线 | 一起操17c | 国产丰满美女做爰 | 牛牛超碰 | 中文字幕一区二区三区手机版 | 色av一区 | 国产富婆一区二区三区 | 骚虎视频最新网址 | 日韩免费网站 | 国产 第1190页| 青青草久久久 | 欧美国产片 | 国模大尺度自拍 | 不用播放器看av | 亚洲操操操 | 欧美高清一区 | 天天干夜夜操视频 | 美女扒开腿让人桶爽 | 一本色道久久88综合日韩精品 | 免费毛片视频网站 | 亚洲国产黄色片 | 人妻少妇偷人精品无码 | 久久99精品国产麻豆婷婷洗澡 | 光棍影院手机版在线观看免费 | 成人在线免费观看视频 | 中国黄色片子 | 极品三级| 午夜激情视频在线播放 | 国产成人午夜精华液 | 正在播放木下凛凛88av | 欧美精品激情 | 九九久久国产 | 九九九国产 | 在线免费观看视频网站 | 精品人妻av一区二区 | 美女高潮黄又色高清视频免费 | 亚洲三区在线 | 女人扒开屁股让男人桶 | 性巴克成人免费网站 | 影音先锋色小姐 | 日本黄色的视频 | 狠狠躁日日躁夜夜躁av | 日韩精品免费在线观看 | 欧美在线aa | 欧美中文字幕一区二区 | 国产麻豆剧果冻传媒白晶晶 | www.日日日| 性欧美在线 | 日韩欧美不卡在线 | 99精品视频免费在线观看 | 日本一卡二卡在线 | 国产精品视频在线播放 | www亚洲| 色播日韩| 九色91popny蝌蚪新疆 | 亚洲av成人无码久久精品老人 | 搡国产老太xxx网站 高h喷汁呻吟3p | 欧美日韩精品区 | 日韩tv| 色哟哟国产 | 日韩久久一区 | 日本欧美在线观看 | 丰满的人妻hd高清日本 | 亚洲少妇一区二区三区 | 国内精品人妻无码久久久影院蜜桃 | 俄罗斯av在线 | 香蕉视频黄版 | wwwav在线播放 | 亚洲人成小说 | 日本h在线 | 国产麻豆精品久久一二三 | 亚洲少妇一区二区三区 | 青青草逼| 午夜av网 | 天码人妻一区二区三区在线看 | 好爽又高潮了毛片 | 天天操夜夜操视频 | 日批免费网站 | 欧美在线黄| 亚洲精品国产精华液 | 日本黄视频网站 | av日韩在线免费观看 | 在线观看9.1 | 美攻壮受大胸奶汁(高h) | 中文字幕在线视频免费观看 | 波多野av在线 | 一级黄色a视频 | 欧美巨大荫蒂茸毛毛人妖 | 性高湖久久久久久久久免费 | 国产精品一区二区三区久久久 | 麻豆电影网站 | 色呦呦一区二区三区 | 嫩草影院久久 | 色香色香欲天天天影视综合网 | 欧美一区二区三区免费在线观看 | 天堂аⅴ在线最新版在线 | 四虎少妇做爰免费视频网站四 | 在线观看av网站 |