2018SD省隊集訓R2 D6

2021-08-21 06:31:23 字數 877 閱讀 8970

這是一道簽到題

考慮入度出度平衡的狀態,我們先把所有的邊減成0,然後考慮對於一條有向邊x->y,如果有c個,那麼可以連權值為-w,流量為c的,還要連權值是w,流量為inf的,我們從1跑到n的時候,考慮什麼時候dis[t]>=0的時候就結束了,再走下去不會更優

#include 

#include

#include

#include

#define ll long long

#define inf 1e18

using

namespace

std;

struct hhe[505];

const

int n=10005;

int tot=-1,nxt[n*2],point[300],v[n*2],n,m,num[300],du[300];bool vis[300];

ll dis[300],c[n*2],remind[n*2];

void addline(int x,int y,ll l,ll z)

void add(int x,int y)

bool spfa(int s,int t)

}return dis[t]<0;

}ll dfs(int now,int t,ll limit)

return flow;

}ll zkw(int s,int t)

return ans;

}int main()

printf("%lld",ans+zkw(1,n));

}

2018SD省隊集訓R2 D2

我們並不需要知道相對應位置的數字是不是相等,只要置換之後的hash值相等就行了。hash 函式本身相當於每個位置乘上 x 的若干次方,置換之後只要改變次方的順序就好了。具體來說,設我們的base值是m,一段區間的hash值是 n i 0s i mi i 0nsi mi,然後乙個置換的hash值是 n...

2018SD省隊集訓R1 D1

經過每條邊至少一次並且回到原點,我們可以想到尤拉迴路。發現尤拉迴路的特點是每個點度數為偶數,然後我們的目標就是把度數奇數的那些點通過新增一些長度盡量小的邊變成度數為偶數。新增哪些邊呢?不難想到是最小生成樹上的邊,那我們先新增成最小生成樹,其實就是每條邊可以選 不選,每個點的要求被選的相鄰邊是奇數 偶...

2018HN省隊集訓D9T1 circle

給定乙個 n 個點的競賽圖並在其中欽定了 k 個點,資料保證刪去欽定的 k 個點後這個圖沒有環.問在不刪去欽定的這 k 個點的情況下最少要刪幾個點讓原圖沒有環.如果不存在答案小於 k 的解則輸出impossible.n,k le2000 好像這篇草稿鴿的時間有點久qaq 首先乙個顯然的性質是無環的競...