LIS nlogn優化以及路徑輸出

2021-08-22 17:48:38 字數 2432 閱讀 1755

lis(最長上公升子串行)分析:

sequence : -7109

2388

1 temp lis :

position :

sequence :(-7)1092

3881

temp lis : -7

position : 1 // -7 在 lis 的第乙個位置

sequence : -7(10) 923

881 temp lis : -7

10 position : 1

2 // 10 在 lis 的第二個位置,以此類推。

sequence : -7

10 (9) 238

81temp lis : -7

9 position : 122

/* 9 成為 lis 的潛力比 10 大, 所以以 9 代替 10 */

sequence : -7

109 (2) 388

1 temp lis : -7

2 position : 122

2/* 2 成為 lis 的潛力比 9 大, 所以以 2 代替 9 */

sequence : -7109

2 (3) 881

temp lis : -723

position : 122

23sequence : -7109

23 (8) 8

1 temp lis : -723

8 position : 122

234sequence : -7109

238 (8) 1

temp lis : -723

8 position : 122

2344

/* 8 成為 lis 的潛力比 8 大, 所以以 8 代替 8 */

sequence : -7109

2388 (1)

temp lis : -713

8 position : 122

2344

2/* 1 成為 lis 的潛力比 2 大, 所以以 1 代替 2 *

路徑輸出的話就是倒序輸出(dp的長度就是最長子序列的長度),從len到1,t–,找到第乙個pos[i]=t的地方輸出。

sequence : -7109

238 (8) 1

position : 122

234 (4) 2

lis : - - - 8

/* search 4th, 8 is fourth lis element */

sequence : -7109

2 (3) 881

position : 122

2 (3) 442

lis : - - 3

8/* search 3rd, 3 is third lis element */

sequence : -7

109 (2) 388

1 position : 1

22 (2) 344

2 lis : - 238

/* search 2nd, 2 is second lis element */

sequence :(-7)1092

3881

position : (1) 222

3442

lis : -723

8/* search 1st, -7 is first lis element */

下面是**(利用了stl中自帶的二分函式,lower_bound(找到第乙個大於a[i]的位置))

#include

#include

#include

#include

using

namespace

std;

const

int maxn = (int)1000 + 10;

int a[maxn],dp[maxn];

int pos[maxn];//記錄位置

intlist[maxn];//記錄路徑

int n;

int main() //a[i] -7 10 9 2 3 8 8 1

else

}//for(int i = 1;i<=n;i++) printf("%d",pos[i]);

int t = len;

for(int i = n;i>=1;i--)

if (t<1) break;

}for(int i = 1;i<=len;i++) printf("%d\n",list[i]);

return

0;}

系統優化路徑

一 系統目標 目標 多,快,準 多就是容量大,快就速度快,準就正確的執行。在使用者量大的情況下,快速準確的響應使用者請求。二 優化方法 擴容,實現多伺服器並行處理 提高單個功能處理能力,硬體 程式 三 查詢瓶勁 工具,日誌 top10優化法 太多了,從高到低來 四 優化行動 巨集觀1 流量監控 找出...

URL路徑優化

專案型別 mvc3 流程 1.路由設定 所有的路徑都經過 global.asax 檔案,想做好url優化,路由設定是關鍵,開啟global.asax.cs,可以看到 預設的route name為 default 的路由設定,在此路由上寫我們的路由設定,msdn可以找到詳細的關於 routes.map...

Mysql優化以及索引優化

普通索引 無限制 允許空和重複 純粹為查詢更快 唯一索引 可為空 但空只能為乙個 主鍵索引 不允許為空 組合索引 多列 最左字首原則 如 組合索引列 a b c 則查詢sql中 where a 可以使用索引 where b 不可使用 全文索引 空間索引 非聚簇索引 非聚集索引 索引樹的葉子節點存資料...