poj 1486 模擬(透明膠片確定對應數字)

2021-06-28 16:15:16 字數 472 閱讀 1499

題意:給出一些矩形的座標和一些點的座標,若點在矩形內,則該點和該矩形匹配,問是否存在確定的匹配。

思路:模擬這個過程。每次找度為1的點,則其對應匹配定是確定的。然後將與其鄰點關聯的邊都刪除,繼續迭代。可以根據topsort的思路用乙個佇列來存放度數為1的點。(其他思路:這題可以先任意找出乙個完美匹配,然後依次刪除該匹配的每一條邊,若仍能構成完美匹配,則這個匹配不唯一,若不能構成完美匹配,則該匹配唯一)。下面程式裡n值設為30則re,開大才能ac。暫時不清楚為什麼。

#include #include #define n 1000

struct pointp[n];

struct edgee[n*n*2];

int c=1,n,first[n],top,d[n],q[n<<1],res[n],used[n];

int test(int x,int y,int j){

return (x>p[j].l&&xp[j].d&&y

poj 2420 poj1379 模擬退火

具體模擬退火的原理可參考 模擬退火可用於一些 精度 要求不是很高的題目。比如取答案的0.1,或者沒有小數點 poj2420 題意 給定n個點,找到乙個點,使得n個點到這個點的距離和最小 模擬退火法 模擬退火的過程 1 確定生成點的範圍,初設為矩形,在這個範圍內生成num個點 num自定 2 確定最高...

Poj1379 poj 2539(模擬退火

題目 在矩形中有若干個點,求乙個點使得所有點到該點的最小距離最大。思路 這個是2008年顧研 上的例題,可以比較簡單地用模擬退火演算法求解。所謂模擬退火就是先隨機出若干個點,然後以某一特定步長嘗試周圍的解,而後逐漸縮小步長,知道步長小於特定值,跳出。這個演算法雖然簡單易行,但是其正確性並不是非常有保...

poj1379 模擬退火

poj 1379 題意 給定n個點,你需要在給定矩形範圍內找到乙個點,使得它到這n個點的距離的最小值最大。一開始是用的顧研的方法,但總是ac不了,聽盾哥說他那個有問題。正確的演算法流程應該是 初始化 初始溫度de 充分大 初始p個並行解狀態s 演算法迭代的起點 失敗次數上限l,接受引數x,衰變係數k...