原创 CodeBlocks下配置wxWidgets

根據以下此教程在CodeBlocks上配置好wxWidgets,雖是win7下的配置方法,但在win8下也適用 親測可用。 配置教程:http://cnblog.ecsquid.com/?p=727 點贊 收藏 分

原创 NYIST 139 我排第幾個(康託展開)

關於康拓展開: 康託展開是一個全排列到一個自然數的雙射,常用於構建哈希表時的空間壓縮。 康託展開的實質是計算當前排列在所有由小到大全排列中的順序,因此是可逆的。 以下稱第x個全排列是都是指由小到大的順序。 公式 X = a[n

原创 各種字符串Hash函數比較

原文地址:https://www.byvoid.com/blog/string-hash-compare/ 常用的字符串Hash函數還有ELFHash,APHash等等,都是十分簡單有效的方法。這些函數使用位運算使得每一個字符都對最

原创 HDU 4681 String (最長公共子序列)

題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=4681 #include <cstdio> #include <cstring> #include <algorithm> using na

原创 算法題中模擬退火算法的兩種實現(POJ 1379、SCU 4369)

一、步長 *= 降火速度 二、當某次隨機出來所有方向的點都沒有比當前點更接近正解時,步長 *= 降火速度 // 一、poj 1379 #include <algorithm> #include <cstdlib> #include <

原创 [專題學習][計算幾何]

這兩天在學習計算幾何,隨便說說自己的學習過程吧。   基本的叉積、點積和凸包等東西就不多說什麼了,網上一搜一大堆,切一些題目基本熟悉了就差不多了。   一些基本的題目可以自己搜索,比如這個blog:http://blog.sina.

原创 poj 1903 meet in the middle部分枚舉思想

題意:給出N個字符串(1 <= N <= 24),問最多可以找出多少個字符串,使得這些字符串中所有相同字符的個數和均爲偶數,並輸出是哪些字符串。 思路:把字符串分爲兩部分,分別枚舉狀態,並在map中查找後半部分的狀態是否在前半部分出現,

原创 整數劃分(三) NYIST 571

題目鏈接:點擊打開鏈接 1.將 n 劃分成每個數不大於 m 的劃分方案數:   ①.若是劃分多個整數可以存在相同的:(詳見函數 f1 )      (dp1[n][k] 表示整數 n 的劃分中,每個數不大於 k 的劃分數。)     1

原创 計算幾何題目推薦

把下面的東東都看看,題目刷刷應該就差不多了吧哈。。哈哈。。 其實也談不上推薦,只是自己做過的題目而已,甚至有的題目尚未AC,讓在掙扎中。之所以推薦計算幾何題,是因爲,本人感覺ACM各種算法中計算幾何算是比較實際的算法,在很

原创 POJ 3494 Largest Submatrix of All 1’s 單調棧(數組版)

題目鏈接:POJ 3494 代碼如下: // 數組模擬stack版 #include <utility> #include <cstring> #include <cstdio> using namespace std; #defi

原创 SGU 174 (並查集+map)

題目鏈接:SGU 174 分析:每個點爲並查集的一個元素,兩點形成邊時,把兩點歸併成同一個集合。當添加一條新邊,該邊的兩點已在同一集合時,封閉區域形成。 代碼如下: #include <cstdio> #include <map> #i

原创 POJ 3254 Corn Fields 狀態壓縮DP

題目鏈接:POJ 3254 分析:設行數爲n,列數爲m。可把dp數組設爲dp[i][j],表示爲第i行,狀態爲j時可行數,先預處理出所有可行狀態、可兼容狀態對(可兼容的含義爲:兩個狀態作爲相鄰的兩行時,兩行間的1不跨行相鄰),並用tot

原创 計算幾何中的精度問題

原文鏈接:點擊打開鏈接 計算幾何頭疼的地方一般在於代碼量大和精度問題,代碼量問題只要平時注意積累模板一般就不成問題了。精度問題則不好說,有時候一個精度問題就可能成爲一道題的瓶頸,簡直“畫龍點睛”。這些年的題目基本是朝着越來越不卡精

原创 BNU 34990 Justice String (hash+二分求LCP)

題意:給出字符串A和字符串B,找出一個字符串A的子串的起始下標,使得該子串和字符串B長度相等且和字符串B僅有兩個個不相同的字符 思路:枚舉字符串A的起點,三次(hash + 二分)求最長公共前綴求出字符串A的子串能和字符串B進行符合題意的

原创 binary_search、lower_bound、upper_bound

使用改寫二分查找的方式重寫了lower_bound和upper_bound #include <algorithm> #include <cstdio> #include <ctime> using namespace std; c