problem 2233 ~aptx4869
為了幫助柯南回到一公尺七四,阿笠博士夜以繼日地研究aptx4869的解藥。他得出了如下結果:
1.解藥由n種原料構成;
2.對於兩種不同的的原料a,b,它們之間有個影響值f(a,b);
3.需要把原料分成兩個部分x,y,每部分中至少有一種原料;
4.解藥的效果由分別屬於x,y的原料之間,最小的影響值決定,即
效果=min
博士需要你幫忙求出:在所有的方案中,最大的效果值可以是多少?
多組資料(<=10),處理到eof。
每組資料輸入第一行為乙個正整數n。
接下去是乙個n行n列的整數矩陣,同一行的數以空格隔開。矩陣第i行j列表示第i種和第j種材料的影響值f(i,j)。給出的矩陣是對稱的,即f(i,j)=f(j,i)。當i=j時,f(i,i)沒有意義,矩陣該處的值為-1。
2<=n<=800。當i!=j時,0<=f(i,j)<=1000000;當i=j時,f(i,j)=-1。
每組資料輸出一行,表示最大可能的效果值。
3-1 100 300100 -1 200300 200 -1
200
#include#include#include#includeusing namespace std;
#define n 805
int n,a[n][n],v[n],pre[n],b[n*n/2],p;
int find(int x) //並查集的運用
while(r!=x)
return x;
}void join(int a,int b)
void init() //資料初始化
int judge(int x) //判斷是否滿足條件
void binary() //二分求解
sort(b,b+p);
p=unique(b,b+p)-b;
binary();
}return 0;
}
福州大學第十三屆程式設計競賽 重現
problem c 平行四邊形數 accept 71 submit 345 time limit 2000 msec memory limit 32768 kb problem description 在乙個平面內給定n個點,任意三個點不在同一條直線上,用這些點可以構成多少個平行四邊形?乙個點可以同...
關押罪犯 並查集 二分
s 城現有兩座監獄,一共關押著n 名罪犯,編號分別為1 n。他們之間的關係自然也極不和諧。很多罪犯之間甚至積怨已久,如果客觀條件具備則隨時可能爆發衝突。我們用 怨氣值 乙個正整數值 來表示某兩名罪犯之間的仇恨程度,怨氣值越大,則這兩名罪犯之間的積怨越多。如果兩名怨氣值為c 的罪犯被關押在同一監獄,他...
擴散(二分答案 並查集)
乙個點每過乙個單位時間就會向四個方向擴散乙個距離,兩個點a b連通,記作e a,b 當且僅當a b的擴散區域有公共部分。連通塊的定義是塊內的任意兩個點u v都必定存在路徑e u,a0 e a0,a1 e ak,v 給定平面上的n給點,問最早什麼時刻它們形成乙個連通塊。我們可以二分答案,然後對於每個時...