floyd + 路徑dp + 集合dp :
//for (int s = i & (i - 1); s; s = (s - 1) & i) 列舉i的每乙個非空真子集s,若包含i需修改s初始化
#ifndef solver_h_
#define solver_h_
#include using namespace std;
const int kmaxn = 55;
const int kmaxm = 10;
const int kmaxs = 1024;
struct deliverycost ;
class solver
int m = cost_e.size();
for (int i = 0; i < m; ++i)
for (int k = 1; k <= n; ++k) }}
static int f[kmaxs][kmaxn];//f[i][j]:選了i集合,當前在j點的最小花費
memset(f, 0x3f, sizeof(f));
int num_employees = employees.size();
int num_states = 1 << num_employees;
//f初始化
for (int i = 1; i <= n; ++i) f[0][i] = 0;
for (int i = 0; i < num_employees; ++i) f[1 << i][employees[i]] = 0;
for (int i = 0; i < num_states; ++i)
}for (int j = 1; j <= n; ++j) }}
static int g[kmaxs]; //g[i]:選了i集合,且i集合中有乙個特殊員工與boss連線的最小花費
memset(g, 0x3f, sizeof(g));
for (int i = 0; i < num_states; ++i) }}
static int h[kmaxs]; //h[i]:選了i集合,且i集合中至少乙個特殊員工與boss連線的最小花費
for (int i = 0; i < num_states; ++i)
}return h[num_states - 1];
/*********end*********/
}};#endif
10道不錯的JavaScript面試題目
基礎部分 1 以下問題簡短作答 1.1 jscript的兩種變數範圍有什麼不同?1.2 列舉jscript的三種主要資料型別 兩種復合資料型別和兩種特殊資料型別。1.3 程式中捕獲異常的方法。2 宣告乙個字串陣列並初始化,存放用於金額大寫的十個中文字元 3 寫出下列例程執行的結果 3.1 程式執行完...
不錯的sql試題
以下題目,可根據自己情況挑選題目作答,不必全部作答.您也可以就相關問題直接找負責面試人員面述而不筆答 一 sql tuning 類 1 列舉幾種表連線方式 2 不借助第三方工具,怎樣檢視sql的執行計畫 3 如何使用cbo,cbo與rule的區別 4 如何定位重要 消耗資源多 的sql 5 如何跟蹤...
Python 面試題目集合11 20
列表生成式 print x 11for x in range 10 set 函式建立乙個無序不重複元素集,可進行關係測試,刪除重複資料,還可以計算交集 差集 並集等。按位與操作,只有 1 1 為 1,其它情況為 0.可用於進製運算 按位或操作 只有 0 0 為0 其他情況為1 逐位取反 異或,相同為...