小結 特殊的技巧

2021-09-06 19:12:30 字數 810 閱讀 1575

對於這些題我只能說,太神了orz

【vijos】1882 石階上的磚(中位數+特殊的技巧)

【bzoj】1045: [haoi2008]糖果傳遞(中位數)

差分:差分是個好東西。。能夠進行一些區間操作orz。即我們可以將線段拆成點,權值為1(左端點)-1(右端點),那麼離散端點後從左向右掃,根據所需要的維護資訊,例如:

【bzoj】1637: [usaco2007 mar]balanced lineup(字首和+差分+特殊的技巧)

【bzoj】1676: [usaco2005 feb]feed accounting 飼料計算(差分)

【bzoj】1651: [usaco2006 feb]stall reservations 專用牛棚(線段樹/字首和 + 差分)(計算區間重疊數)

【bzoj】1635: [usaco2007 jan]tallest cow 最高的牛(差分序列)(區間加減)

【tyvj】p2065 「poetize10」封印一擊(貪心+線段樹/差分)(拆成端點後差分)

字首和:和差分一樣是個好東西。。二維字首和可以維護矩陣。

三分:用來找凸函式極值。整數是while(r-l>=3),然後midl=l+(r-l)/3; midr=r-(r-l)/3,且最後求答案要在區間[l,r]再求一遍; 分數是while(r-l>=eps)千萬不要寫錯。。

近似:如果題目要求的答案的精度可以差很大的話,可以考慮近似!例題:

【bzoj】1011: [hnoi2008]遙遠的行星(近似)(尋找答案之間的關係然後來近似)

特殊運算子小結

給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。說明 你的演算法應該具有線性時間複雜度。你可以不使用額外空間來實現嗎?本題難點!示例 1 輸入 2,2,1 輸出 1示例 2 輸入 4,1,2,1,2 輸出 4class solution更直觀的寫...

Visual C 程式設計技巧小結

example handle hinstance afxgetinstancehandle 2.如何通過 獲得應用程式主視窗的指標?主視窗的 指標儲存在cwinthread m pmainwnd中,呼叫 afxgetmainwnd實現。afxgetmainwnd showwindow sw show...

記憶體優化技巧小結

2 當介面不可見時釋放記憶體 override public void ontrimmemory int level 4 避免bitmap上浪費記憶體 5 使用優化過的資料集合 比如sparsearray 核心是折半查詢函式 sparsebooleanarray 以及longsparsearray ...