小演算法題 7 勇氣的挑戰

2021-09-01 04:43:58 字數 886 閱讀 8712

problem

給定n個點的座標(x,y,z),且n<=50,從點1出發,怎麼樣才能走一條路徑,訪問每個點一次且僅一次,使走過的距離和最小?

input

多組資料. 第1行n,然後n行3個整數座標

output

每組一行,代表最小權和

sample input

30 0 0

1 1 0

1 -1 0

sample output

3.4source

a great beloved and my gate to freedom

import math

inf=1000000

class point:

def __init__(self,x,y,z):

self.x,self.y,self.z=x,y,z

def dis(a,b):

return math.sqrt((a.x-b.x)**2+(a.y-b.y)**2+(a.z-b.z)**2)

points=[point(0,0,0),point(1,1,0),point(1,-1,0)]

def minpath_dis(points):

if len(points)==2:

return dis(points[0],points[1])

s=points[0]

m=inf

for i in xrange(1,len(points)-1):

m=min(m,dis(s,points[i])+minpath_dis(points[i:]+points[1:i]))

return m

print minpath_dis(points)

小演算法題 4

在黑板上寫了n個正整數組成的乙個數列,進行如下操作 每次擦去其中的兩個數a和b,然後在數列中加入乙個數a b 1,如此下去直至黑板上 剩下乙個數,在所有按這種操作方式最後得到的數中,最大的為max,最小的為min,則該數列的極差定義為m max min。請你程式設計,對於給定的數列,計算極差。exa...

演算法刷題(7)

題目一 假定你使用svm學習資料x,資料x裡面有些點存在錯誤。現在如果你使用乙個二次核函式,多項式階數為2,使用懲罰因子c作為超參之一。當你使用較大的c c趨於無窮 則 a仍然能正確分類資料b 不能正確分類c 不確定d 以上均不正確解析 正確答案是 a,採用更大的c,誤分類點的懲罰就更大,因此決策邊...

刷題演算法小技巧

1.大數取餘 對於較大數快速取餘 引數 char s 為儲存大數的陣列 modnumber 為mod long long modnumber char s,int modnumber return sum 2.快速冪 極大數 取餘 對於較大數快速取餘 引數 a的b次方 對 c 取餘 long lon...