由資料範圍反推算法複雜度以及演算法內容

2021-10-02 23:37:19 字數 478 閱讀 2213

一般acm或者筆試題的時間限制是1秒或2秒。

在這種情況下,c++**中的操作次數控制在

下面給出在不同資料範圍下,**的時間複雜度和演算法該如何選擇:

n ≤ 30, 指數級別, dfs+剪枝,狀態壓縮dp

n ≤ 100 => o(

n ≤ 1000 => o(

n ≤ 10000 => o(n∗

n ≤ 100000 => o(nlogn) => 各種sort,線段樹、樹狀陣列、set/map、heap、dijkstra+heap、spfa、求凸包、求半平面交、二分

n ≤ 1000000 => o(n), 以及常數較小的 o(nlogn) 演算法 => hash、雙指標掃瞄、kmp、ac自動機,常數比較小的 o(nlogn) 的做法:sort、樹狀陣列、heap、dijkstra、spfa

n ≤ 10000000 => o(n),雙指標掃瞄、kmp、ac自動機、線性篩素數

n ≤n ≤

由資料範圍反推算法複雜度以及演算法內容

一般acm或者筆試題的時間限制是1秒或2秒。在這種情況下,c 中的操作次數控制在 107為最佳。下面給出在不同資料範圍下,的時間複雜度和演算法該如何選擇 n 30,指數級別,dfs 剪枝,狀態壓縮dp n 102 o n3 floyd,dp n 103 o n2 o n2logn dp,二分 n 1...

由資料範圍反推算法複雜度以及演算法內容

一般acm或者筆試題的時間限制是1秒或2秒。在這種情況下,c 中的操作次數控制在 107107 為最佳。下面給出在不同資料範圍下,的時間複雜度和演算法該如何選擇 n 30n 30,指數級別,dfs 剪枝,狀態壓縮dp n 100n 100 o n3 o n3 floyd,dp n 1000n 100...

由資料範圍反推算法複雜度以及演算法內容

一般acm或者筆試題的時間限制是1秒或2秒。在這種情況下,c 中的操作次數控制在 1e7為最佳。下面給出在不同資料範圍下,的時間複雜度和演算法該如何選擇 n 30,指數級別,dfs 剪枝,狀態壓縮dp,二進位制列舉 n 100 o n3 floyd,dp n 1000 o n2 o n2logn d...