【圖論專題三】 【NOI2016模擬6.20】沒有強聯通分量的無聊世界
【NOI2016模擬6.20】沒有強聯通分量的無聊世界
Description
Input
Output
Sample Input
3 4
1 2
1 3
2 3
3 1
Sample Output
1
Data Constraint
題解
可以將它拓撲出來,然後然後~~
就沒有然後了
所以,我們要換一種思路。
注意 性質 DAG的性質是:一個點的拓撲序只會向比它編號大連邊。 所以我們只需要求出一個編號的順序,然後可以計算代價。這就是基本思路。
第一種方法
我們可以全排列順序,然後貪心計算代價(應該很簡單吧)。取最小值就好了。
預計分數:20分
第二種方法
我們可以狀態壓縮全排列選擇的編號。因為編號的順序與加入一個編號的答案不產生影響,所以自然可行
預計分數:60分。
第三種方法
對第二種方法進行優化,用位運算、預處理等加速演算法二。
預計分數:100分
程式碼
第二種方法
#include<cstdio>
#include<cstring>
#define N 23
#define M 485
#define MAX_f 4194305
using namespace std;
int n,m,total1;
int th2[N],next[M],head[M],edge[M],f[MAX_f] ;
bool used[MAX_f];
void insert(int x,int y)
{
total1++;
next[total1]=head[x];
head[x]=total1;
edge[total1]=y;
}
int main()
{
freopen("dizzycows.in","r",stdin);
freopen("dizzycows.out","w",stdout);
scanf("%d%d",&n,&m);
th2[0]=1;
for (int i=1;i<=n;i++)
{
th2[i]=th2[i-1]*2;
}
for (int i=1;i<=m;i++)
{
int x,y;
scanf("%d%d\n",&x,&y);
insert(x,y);
}
f[0]=0;
for (int i=1;i<=th2[n];i++)
{
f[i]=-999999;
}
memset(used,false,sizeof(used));
for (int i=0;i<=n-1;i++)
{
for (int j=0;j<=th2[n];j++)
{
if (f[j]>=0&&used[j]==false)
{
used[j]=true;
for (int k=1;k<=n;k++)
{
if ((j&th2[k-1])==0)
{
int p=j|th2[k-1];
int cost=0;
for (int i1=head[k];i1;i1=next[i1])
{
int y=edge[i1];
if ((j&th2[y-1])!=0) cost++;
}
if
相關推薦
【圖論專題三】 【NOI2016模擬6.20】沒有強聯通分量的無聊世界
【NOI2016模擬6.20】沒有強聯通分量的無聊世界
Description
Input
Output
Sample Input 3 4 1 2 1 3 2 3 3 1
Sample Output 1
Data Constraint
題解
可以將
【解題報告】【圖論專題】
圖論 克魯斯卡爾 scan 克魯斯卡爾算法 href display ref 排序 span 圖論500題http://blog.csdn.net/luomingjun12315/article/details/47438607
【最小生成樹+並查集】
1、hdu 1856
【圖論專題四】【JSOI2013】吃貨JYY
【江蘇省省選2013】吃貨JYY
【JSOI2013】吃貨JYY (Standard IO) Time Limits: 1000 ms Memory Limits: 131072 KB Detailed Limits
Description 世界上一共有N個JYY願意去的城市,分
【圖論專題二】【網路流部分】狼和羊的故事
【浙江省省選2009】狼和羊的故事
題目
【ZJOI2009】狼和羊的故事 (Standard IO) Time Limits: 1000 ms Memory Limits: 256000 KB Detailed Limits
Description “狼愛上羊啊愛的瘋狂
【圖論專題一】假期計劃
【GDOI2015模擬11.22】假期計劃
題目
【GDOI2015模擬11.22】假期計劃 (Standard IO) Time Limits: 500 ms Memory Limits: 262144 KB Detailed Limits
Description 航空公司
【圖論】2018國慶三校聯考D5T2
分析:
題意非常醜陋。。。簡化出來就一句話:每個點有選中、未選中兩種狀態,現在給出一些矛盾關係,要求加入儘可能少的矛盾關係,使得沒有合法方案。
如此2sat的模型,顯然需要2sat的連邊方式。。。然後直接列舉每個位置選、不選是否合法即可。若不選合法,則考慮其練的邊是否有一個
【圖論】【DFS】三校聯考10.20T2
題意
尋找有多少條邊滿足:圖中所有奇環都包含這條邊,且這條邊不屬於任何偶環
分析:
最後一個性質好坑。。。一直在想那個性質結果T3都沒來得及做…
直接建一個DFS樹。因為是無向圖,所以只存在樹邊和返祖
POJ 2387 圖論之最短路【三種寫法】
最短路問題;
坑點1:是先輸入邊,再輸入點;
坑點2:資料很大,不適合用別的模板;
坑點3:有重邊 需要判定;
題意:題目大意:有N個點,給出從a點到b點的距離,當然a和b是互相可以抵達的,問從1到n
【圖論】網絡流總結
hdu 3338 -m ini post 平衡 題目 esp urn data-
【圖論】網絡流總結
最大流部分
網絡流題目的關鍵:看出是網絡流而且確定正確的模型
最大流算法:用來解決從源點s到匯點t,整個網絡最多能輸送多少流量的題目
模
【圖論】最優貿易
價格 highlight style 不同 相同 -s 存在 n) size [NOIP2009]最優貿易
描述
C 國有 n 個大城市和 m 條道路,每條道路連接這 n 個城市中的某兩個城市。任意兩個城市之間最多只有一條道路直接相連。這 m 條道路中有一部分為單向
【圖論】Self-Assembly(6-19)
inline const 分析 i++ 不能 hash unbound tac 正方形 [UVA1572]Self-Assembly
算法入門經典第6章6-19(P172)
題目大意:有一些正方形,每條邊上都有A-~Z- A+~Z+的編號,或者00,A+的邊可以拼A-,
【圖論】tarjan
AS code 更新 out 聯通 ace 起點 是什麽 環路 剛接觸tarjan,tarjan其實更多是用來找強聯通分量。我這裏呢,是看qsc的視頻學的。卿學姐講的其實很清楚啦。
我這裏只是做個整理。
low[]:表示能到達這個點的最小編號。[樹枝邊]。啊,其實
【圖論-最短路】【P3393】逃離僵屍島
hint eight pro urn ref wid rip tin #define 傳送門
Description
小a住的國家被僵屍侵略了!小a打算逃離到該國唯一的國際空港逃出這個國家。
該國有N個城市,城市之間有道路相連。一共有M條雙向道路。保證沒有自環和重邊。
【圖論 搜索】bzoj1064: [Noi2008]假面舞會
des info tput 自己的 根據 比賽 u+ str src
做到最後發現還是讀題比賽
Description
一年一度的假面舞會又開始了,棟棟也興致勃勃的參加了今年的舞會。今年的面具都是主辦方特別定制的。每個參加舞會的人都可以在入場時選擇一 個自己
【圖論】割點
百度百科 sum 所有 baidu tdi ++ define show .com 百度百科
Definition&Solution
在一個無向聯通圖中,如果刪除一個點,該圖變得不連通,那麽該點稱作該圖的割點。註意,割點可能不止一個。
對於無向不連通圖
【圖論】8月19日前填坑指南(自用)
自用 排列 歐拉回路 深度優先 獨立 perf 最小 前向星 最短路 Graph 圖論
前向星
圖的割點、橋
雙連通分量
有向圖的強連通分量
無向圖連通分支
拓撲排序
2-SAT
最短路
第K短路
哈密頓路、歐拉路徑、歐拉回路
DAG的深度優先搜索標記
獨立集、團、支配集
【hiho】14 無間道之並查集【圖論--並查集】
const lse string turn problem scan -c for sca 傳送門:無間道之並查集
分析
並查集的分析可以看上面的傳送門,寫的挺好的了。
其實在我看來並查集就是一種方便的維護集合的一種技巧,提出了代表元素這一概念。
My AC Code
#i
[JZOJ5899]【NOIP2018模擬10.6】資源運輸【矩陣樹定理】【圖論】
Description
給定一個n個點,m條邊的帶權無向圖。 定義這個圖的一個生成樹的權值為生成樹上邊權的乘積。 求所有生成樹權值的平均值,答案對998244353取模。 2<=n<=300,n-1<=m<=1000
Solution
平均值=和/總數
【codefroces 1037 E Trips】【圖論】【逆向思維】【好】【度大於等於k的最大子圖】
【連結】
【題意】
有n個人,一開始都不是朋友,m天每天都會有x,y成為朋友,現在他們有trip,只有他們出去玩的朋友數大於等於k才能出去,求每天出去最多的人數。朋友關係不具有傳遞性
【思路】
用set維護圖,並記錄與點相連的邊集。如果圖從無到有建邊,那麼每加入一
【圖論】【思維題】AGC004F Namori
分析:
比較複雜的一道思維題。。。
先考慮樹的情況,把所有點按照深度的奇偶性分為兩類,在所有深度為奇的點放一個“+1”,在所有深度為偶的點放一個“-1”。這樣一來,每次染色,就可以看作交換了一對相鄰的“+1”和“-1”。目標狀態就是所有的“+1”移動到“-1”所