這是一道最優規劃的公升級問題,不僅要找到最優值,還要找到任意乙個最優解
依次找到前x-1項的最優答案
這樣當要知道第x項的答案時,可以找到x項的最優項
最優規劃的使用不適合特大的陣列,特大陣列要看技巧
這裡看似是字串,但是因為字串判斷複雜,可以簡化為int型別陣列,而且因為單詞個數不超過16,就更好這麼操作了
**:
public int smallestsufficientteam(string req_skills, list> people)
int alls = (1 << n) - 1;
int len = people.size();
int scores = new int[len];
for (int i = 0; i < len; i++)
int dp = new int[len + 1][alls + 1];
for (int i = 0; i <= len; i++)
}dp[0][alls] = 0;
for (int i = 1; i <= len; i++)
}//最優規劃找到最優值
int min = dp[len][0];
int ans = new int[min];
int key = 0;
int tall = 0;
//通過各個位置的最優值,找到最短路徑
for (int i = len; i >= 1; i--) }}
return ans;
}private int gets(listlist, mapmap)
return score;
}
1125 交換機器的最小代價(貪心,環)
有n臺機器重量各不相等,現在要求把這些機器按照重量排序,重量從左到右依次遞增。移動機器只能做交換操作,但交換機器要花費一定的費用,費用的大小就是交換機器重量的和。例如 3 2 1,交換1 3後為遞增排序,總的交換代價為4。給出n臺機器的重量,求將所有機器變為有序的最小代價。機器的重量均為正整數 輸入...
1125 牛的旅行
農民john的農場裡有很多牧區,有的路徑連線一些特定的牧區。一片所有連通的牧區稱為乙個牧場。但是就目前而言,你能看到至少有兩個牧區不連通。現在,john想在農場裡新增一條路徑 注意,恰好一條 乙個牧場的直徑就是牧場中最遠的兩個牧區的距離 本題中所提到的所有距離指的都是最短的距離 考慮如下的兩個牧場,...
51nod 1125 交換機器的最小代價
這道題是以前數學專題做過類似的,就是學 置換 的時候 比如 2 3 4 1,就是乙個迴圈,因為第乙個位置是2,然後去找第二個位置,是3,又找第三個位置,是4,又找第四個位置,又回到了1。而4 3 2 1,第乙個位置是4,找第4個位置,是1,找第乙個位置,又是4,所以是個迴圈,同理也是個迴圈 那我們為...