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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

训练指南 UVALive - 3713 (2-SAT)

發布時間:2025/3/20 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 训练指南 UVALive - 3713 (2-SAT) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

layout: post
title: 訓練指南 UVALive - 3713 (2-SAT)
author: "luowentaoaa"
catalog: true
mathjax: true
tags:
- 2-SAT
- 圖論
- 訓練指南


Astronauts

UVALive - 3713

題意

有A,B,C三個任務要分配個N個宇航員,每個宇航員恰好要分配一個任務,設平均年齡為X,只有年齡大于或等于X的宇航員才能分配任務A。只有年齡嚴格小于X的宇航員才能分配任務B。而任務C沒有限制。有M對宇航員相互討厭,因此不能分配到同一任務。編程找出一個滿足上述所有要求的任務分配方案。

題解

如果憎惡就代表不能一起去C,如果年齡相同就代表不能一起去A/B;

#include<bits/stdc++.h> using namespace std; typedef long long ll; const ll mod=998244353; const int maxn=1e6+50; const ll inf=0x3f3f3f3f3f3f3f3fLL; 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));}/// x=xval or y= yval;void add_caluse(int x,int xval,int y,int yval){x=x*2+xval;y=y*2+yval;G[x^1].push_back(y);///如果x為真 那么y必須為假;G[y^1].push_back(x);///如果y為真 那么x必須為假;}bool solve(){for(int i=0;i<n*2;i+=2)if(!mark[i]&&!mark[i+1]){c=0;if(!dfs(i)){while(c>0)mark[S[--c]]=false;if(!dfs(i+1))return false;}}return true;} }; int n,a[maxn],m; TwoSAT solver; int tol; int is_young(int x){return a[x]*n<tol; } int main() {std::ios::sync_with_stdio(false);std::cin.tie(0);std::cout.tie(0);while(cin>>n>>m&&n&&m){tol=0;solver.init(n);for(int i=0;i<n;i++){cin>>a[i];tol+=a[i];}for(int i=0;i<m;i++){int a,b;cin>>a>>b;a--;b--;solver.add_caluse(a,1,b,1);if(is_young(a)==is_young(b))solver.add_caluse(a,0,b,0);}if(!solver.solve())cout<<"No solution."<<endl;else for(int i=0;i<n;i++)if(solver.mark[i*2])cout<<"C"<<endl;else if(is_young(i))cout<<"B"<<endl;else cout<<"A"<<endl;}return 0; }

轉載于:https://www.cnblogs.com/luowentao/p/10343539.html

總結

以上是生活随笔為你收集整理的训练指南 UVALive - 3713 (2-SAT)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲欧美日韩成人 | 青草一区二区 | 一个人看的www日本高清视频 | 亚洲在线视频 | 欧美特一级 | 国内精品偷拍 | 亚洲欧美自拍偷拍 | 波多野吉衣在线视频 | 91黄免费 | 又色又爽又黄18网站 | 国产精品第三页 | 欧美福利第一页 | 久久亚洲免费视频 | 免费黄色一级片 | 国产黄网站 | 亚洲伦理一区二区三区 | 国产成人无码www免费视频播放 | 国产麻豆成人 | 亚洲视频黄色 | 91福利一区二区 | 亚洲手机视频 | 在线香蕉 | 巨胸挤奶视频www网站 | 超碰超碰在线 | 蜜桃av色偷偷av老熟女 | 久久嫩| 日韩一区二区三区三四区视频在线观看 | 精品美女一区二区三区 | 欧美人与禽猛交乱配 | 日日干日日干 | 欧美日韩精品区 | jizzjizz在线观看| 超碰操 | 日本黄色播放器 | 国产特级aaaaaa大片 | 成人免费一区二区三区在线观看 | 小辣椒福利视频导航 | 开心激情播播网 | jizz性欧美2 视频在线日韩 | 久久黄色片 | 伊人网大 | 神马久久久久久久久久久 | 日皮视频免费观看 | 精品在线不卡 | 黄色小说在线视频 | 久久爰| 2022国产精品| 亚洲午夜福利在线观看 | 三年中文在线观看免费观看 | 亚洲v在线观看 | 国产视频在线一区 | 久久精品91 | 免费一级做a爰片久久毛片潮 | 亚洲色图在线观看 | 97干在线| 国产在线麻豆精品观看 | 亚洲一区二区麻豆 | 在线免费观看麻豆 | 国内一区二区视频 | 久久99中文字幕 | 五月天堂婷婷 | 国产精品无码久久av | 国产吞精囗交免费视频网站 | 成人爱爱免费视频 | 日韩一区在线播放 | 午夜理伦三级做爰电影 | 男人天堂亚洲天堂 | 自拍毛片 | 亚洲国产精品无码久久久 | 重囗味sm一区二区三区 | 中文字幕久久一区 | 亚洲欧美激情一区二区三区 | 99热在线免费观看 | 都市激情校园春色 | 国产第九页 | 性开放淫合集 | eeuss日韩 | 2017狠狠干 | 亚洲妇女无套内射精 | 欧美三级视频 | 国产精品久久久久久久久久久久 | 999一区二区三区 | 欧美性网址 | 涩涩视频在线播放 | 中文字幕乱码在线人视频 | 精品爆乳一区二区三区 | 日韩在线播放一区二区 | 日本在线色 | 中国国产精品 | 特大黑人娇小亚洲女 | 美女被男人桶出白浆喷水 | 国产亚洲午夜 | 闫嫩的18sex少妇hd | 欧美日韩a√ | 亚洲av无码潮喷在线观看 | 欧美作爱视频 | 欧美一区二区免费在线观看 | av成人在线播放 | 一区二区男女 |