今天繼續練並查集,一路刷了好幾題,現在把做的幾個都補上.2236這道題主要考的是並查集,另外我用乙個陣列來儲存好的點來減少部分無謂的搜尋.
#include
#define connect(x1,y1,x2,y2,max) (((x1 - x2) * (x1 - x2) +( y1 - y2)*(y1 - y2)) <= max * max)
typedef
struct datadata;
//找祖宗
int findparent(int *parent,int a)
//合併集合
void mergeset(int *parent,int a, int b)
int main()
while( gets(s))
else }}
POJ 2236 解題報告
這道題是並查集 union find 應用。知道後就簡單了。之前已經多次寫過了。這裡用的是之前1703的程式。剛開始用的dfs搜尋,超時了,看了discuss才知道是並查集。thestoryofsnow 2236 accepted 196k 1079ms c 1957b id thestor1 la...
Block Voting 解題報告
這道題做的有點狼狽,效率不高,差一點就tle的ac了。看status裡的,ac的時間大多數都是0ms的。肯定有乙個更有效率的演算法的。下面說下我的狼狽演算法。出處 http acm.jlu.edu.cn joj showproblem.php?pid 1223 問題描述 求每個party的權值。第i...
Safebreaker 解題報告
又是吉林大學一道acm題目,題目很簡單,直接暴力解決。出處 http acm.jlu.edu.cn joj showproblem.php?pid 1718 問題描述 對乙個給定數0000 9999 根據一系列猜測,判斷這個數是否存在,存在的話,是否唯一 例如 3321,給定數 作出猜測,1223 ...