題意:定義兩點邊權值等於點權異或值,給出一些點權值,求如何給其他點標號使所有邊權之和最小。
題解:根據異或的性質,我們可以單獨確定每乙個二進位制位的最小值。對於每一位來講:考慮這一位如果為1與源點連邊,否則與匯點連邊。那麼與源點相連的點集集合內貢獻為0,與匯點相連的點集集合內貢獻為0,對答案貢獻的只有集合之間的邊,且每條邊貢獻為1,要最小化貢獻值,即求最小割。為了保證最小值在原圖的邊內,與匯點源點相連的邊權值設為正無窮,原圖的邊權值設為1。
1 #include2#define ll long long
3using
namespace
std;
4const
int n=510,m=(3010+n*2)*2,inf=1e9;
5int
h[n],e[m],ne[m],f[m],idx;
6int
cur[n],d[n],p[n];
7int
n,m,s,t;
8struct
node
9edges[m];
12int
k;13
void add(int a,int b,int c,int
d)14
18void bulid(int
x)1930}
31bool
bfs()
3252}53
}54return
false;55
}56int find(int u,int
limit)
5770}71
return
flow;72}
73 ll dinic(int
x)74
80int
main()
8192
long
long ans=0;93
for(int i=0;i<31;i++)ans+=dinic(i)<94 cout95return0;
96 }
時間複雜度分析在資訊學競賽中的應用
時間複雜度分析是電腦科學中乙個非常基礎的內容,但同時也是乙個非常重要的內容,電腦科學中的許多內容都圍繞著時間複雜度的研究展開。而資訊學競賽由於其的競賽性,更為注重時間複雜度。本次的noip2015初賽中有一道題目,大意是這樣的 有乙個演算法的時間複雜度可用函式t n t n 1 n定義,其中t 0 ...
各種資訊學競賽的含金量
最具含金量的資訊學競賽當然是資訊學奧賽。資訊學奧賽和奧數 物理奧賽 化學奧賽 生物奧賽,合稱五大科奧賽。奧賽的含金量遠超文科類的競賽比如全國英語競賽和新概念作文競賽,也遠超五大科其他型別的競賽。奧賽整體上分為三個級別 省級聯賽 全國競賽 國際競賽。從選拔的角度看,奧賽可進一步細分為七八個級別。信奧如...
資訊學競賽答題的基礎套路
1.標頭檔案 詳細查詢請點這裡 超級常用標準庫標頭檔案 部分 標準流物件 c 風格的輸入輸出 常用數學函式庫 字串處理函式 動態記憶體分配 隨機數 排序與搜尋後期常用標頭檔案 部分 對範圍操作的演算法 一般是系統排序用 不定陣列 容器 佇列,優先佇列相關 字串類 佇列,優先佇列相關 對映相關 集合相...