不錯的網試題目(集合dp)

2021-09-01 23:03:00 字數 1374 閱讀 1979

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 逐位取反 異或,相同為...