Rails - Incorrect MySQL client library version!
問題在 Windows 環境上使用 mysql2 的gem,啟動網站時出現以下錯誤 1C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11/lib/mysql2.rb:9:in `require': Incorrect MySQL client library version! This gem was compiled for 6.0.0 but the client library is 5.0.51a. (RuntimeError) 原因如錯誤訊息所說,mysql2 使用的 client 是 mysql-connector-c-6 的版本,而電腦上安裝的版本不符 解決方案下載所需的client版本 http://dev.mysql.com/downloads/connector/c/ 選擇 mysql-connector-c-noinstall-6.x.x-win32.zip 的版本,例如 1mysql-connector-c-noinstall-6.0.2-win32.zip 解壓縮後 ...
TopCoder Inv 2001 R1 - SquareDigits
資訊 路徑:Tournament \ 1-16 \ 1 - Inv 2001 R1 \ SquareDigits 分數:500 題目程式介面1234Class Name: SquareDigitsMethod Name: smallestResultParameters: intReturns: int 說明輸入一數字 n,找到 T(x) 包含 n 的最小 x。 定義S(x):表示 x 的數字逐字幕次和,例如 S(3) = 3 * 3 = 9 和 S(230) = 2 * 2 + 3 * 3 + 0 * 0 = 13。T(x):表示重複執行 S(x) 直到出現重複結果,例如 T(37),S(37) = 58S(58) = 89S(89) = 145S(145) = 42S(42) = 20S(20) = 4S(4) = 16S(16) = 37S(37) <- 重複T(37) = { 58, 89, 145, 42, 20, 4, 16, 37 } ...
TopCoder - 線上程式設計競賽
簡介TopCoder 是一個提供線上程式競賽的網站,類似 ACM 的競賽,提供演算法題目的比賽和練習之外,還有其他的軟體設計的項目,如果獲得前幾名的話還可以拿到獎金。 可以到官網點擊右上 [SIGN UP] 註冊,之後可以在這邊參加各種類型的競賽。 其中的演算法類型提供了線上編寫程式送出的功能,可以從畫面左上角的 O(n) 的圖示進入,其他圖示表示不同類型的競賽 點擊 O(n) 之後,他會開啟 Java 程式,登入後可以選擇進入練功房寫以前競賽的題目來練習,或者是參加目前進行中的競賽。 進入練功房之後,可以開啟題目來練習,一個競賽有三道題目,依據難度分別是 250、500 和 1000 分的題目。 開啟之後會進入撰寫程式畫面,TopCoder 目前支援 Java、C++、C# 和 VB 四種語言。程式寫到一半要離開的話,可以使用 Save,若寫完則可以 Compile,若要自己輸入資料測試則使用 Test,確認一切正確之後則可以 Submit 出去,題目越快完成交出去分數會越高,從題目被開啟後就開始計時,另外重新 Submit 的話還會額外的扣分,無論如何,完成至少可得到 30% 的分 ...
演算法 - 合併排序法 (Merge Sort)
簡介合併排序法 (或稱歸併排序法),是排序演算法的一種,使用 Divide and Conquer 的演算法來實作。排序時需要額外的空間來處理,過程依照以下步驟進行: 將陣列分割直到只有一個元素。 開始兩兩合併,每次合併同時進行排序,合併出排序過的陣列。 重複2的動作直到全部合併完成。 流程範例如圖所示: 實作又可分為 Top-down 和 Bottom-up,依據原始的步驟會先將陣量分割直到剩一個元素 (Top-down),然而也可以一開始就直接切割成單一元素開始合併 (Bottom-up)。 分析 最佳時間複雜度:O(nlog n) 平均時間複雜度:O(nlog n) 最差時間複雜度:O(nlog n) 空間複雜度:O(n) Stable sort:是 虛擬碼以下以較高階的想法寫出虛擬碼,實作上效能要好必須還要進一步修改: Top-down12345678910111213141516171819202122function sort(list) if list.length == 1 return list end if left = 取出從 list[0] 到 list ...
高雄旅遊景點 - 真愛碼頭、漁人碼頭和駁二藝術特區
拍攝時間:2012 年 2 月 27 日 真愛碼頭今天一樣沒有規劃很隨性的來沿岸的景點逛逛,先到了最近的真愛碼頭來。 一進來這裡就看到南區分局的牌子,原來這裡是痞子英雄拍攝的地方 南區分局前面就是港口,也有可以坐船遊覽的地方 更近一點看對面的建築物和船 南區分局正面,旁邊還有警車 直升機造型的不知名物體 這裡發生了車禍,一論車子衝入了建築物內 其實這也是造景 漁人碼頭接著來到了另一邊的漁人碼頭 騎車的時候經過高雄港牌樓 一開始看到的是香蕉碼頭的餐廳 裡面有餐廳之外也有賣一些特產,另外還有這個香蕉故事館,展示一些香蕉相關的文物 再往裡面走,就看到漁人碼頭了,是靠著港邊的一排商店,這天雖然是假日卻沒甚麼人 很快的就穿過這條街,另一邊的招牌 穿過之後往另一邊要繞回去,突然發現這邊有舊的鐵道,遠遠還可以看到另一邊很多人 穿過剛剛沒人的鐵道區後,這邊是有比較規劃的區塊,有種了很多的波斯菊,正好是花開的季節 這邊變成像公園一樣的休閒廣場,還有很多人在這裡放風箏 也有一些火車展示在這邊 利用花草造景出大蜥蜴和犀牛 從另一個角度的對決畫面,原來這邊是鐵道博物館的後面,從西子灣捷運站 2 號出口 ...
演算法 - 河內塔 (Tower of Hanoi)
簡介也翻譯作漢諾塔,這是根據一個傳說演變而成的題目,題目的規則如下: 有三根竿子,例如編號為 A、B 和 C,竿子上面可串中空圓盤。 於 A 竿子放入 N 個盤子開始,盤子由下至上變小。 一次只能移動一個盤子。 大盤子不能再小盤子上面。 目標將全部盤子移動到 C 竿子。 現在我們嘗試上面的問題撰寫成程式解決,依據上面的說明,寫出程式印出移動的步驟。 演算法此題目一般可使用 Divide and Conquer 來解,當有 N 個盤子的時候很難思考,我們假設只有兩個盤子的時候,就很好思考,只需要: 將上面的盤子移到暫時擺放的竿子。 將下面的盤子移到目標竿子。 將原來上面的盤子移到目標竿子。 而當盤子 N 個的時候,其實也是依照同樣的邏輯進行即可,但上面 N - 1 個盤子要如何移到暫時擺放的竿子,這時候我們用遞迴的方式交給下一次呼叫自己去處理。 虛擬碼123456789function move(disks, from, to) if disks == 1 自訂的移動動作 else move(disks - 1, from, 另一竿子) move(1, from, ...
演算法 - 分治法 (Divide and conquer)
簡介Divide and conquer 中文翻作分治法,概念如字面上的意義,將問題先切分成小問題後再解決,再將結果合併求出原始問題的答案。 優點Divide and conquer 有許多優點,舉出常見的幾點如下: 將困難的問題簡化為容易實作的方式,例如河內塔 (Tower of Hanoii) 問題。 提升程式效率,例如合併排序 (Merge Sort) 讓排序速度提升。 能夠平行處理,例如 MapReduce 也是 Divide and conquer 的一種。 步驟以下摘錄自 Wiki 分解:將原問題分解為若干個規模較小,相對獨立,與原問題形式相同的子問題。 解決:若子問題規模較小且易於解決時,則直接解。否則,遞歸地解決各子問題。 合併:將各子問題的解合併為原問題的解。 不適合的情況Divide and conquer 是利用遞迴的方式來實作,所以當不適合使用遞迴的時候也就不適合使用 Divide and conquer,例如費波那西數列 (fibonacci): 雖然費波那西數列使用 Divide and conquer 來思考很容易實作,但可以從圖中看到,單純使用遞 ...
解決 The script tried to execute a method or access a property of an incomplete object
問題程式執行出現以下錯誤 1Fatal error: main() [<a href='function.main'>function.main</a>]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "MyClass" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in xxx.php on line 4 原因這是因為程式某些操作產生 Incomplete Object(__PHP_Incomplete_Class),並且呼叫了此物件的函式。產生 I ...
高雄旅遊景點 - 佛陀紀念館
拍攝時間:2012 年 2 月 26 日 利用 228 連假出去走走,於是就朝著佛光山前陣子剛建造好的佛陀紀念館出發,家人出遊一向沒有計畫,早上 10 點多才出發,228 連假到處都是出遊的人,路上一路塞車塞到 12 點才到。 電話:076563033 網址:https://www.fgsbmc.org.tw/ 遠遠就可以看到門口的高塔,快到門口的時候拍了一張 終於進入裡面,回頭拍門口的牌樓和高塔,可以看到到處都是人 上圖左側看似公車的東西,其實是公廁 靠近一點拍牌樓,同時可以明白塞車的情況 進入牌樓後沿著旁邊的路可以開到停車場,而正中央是寫著『禮敬大廳』建築物 建築物前方左邊是獅子 右邊是大象,很多人在這裡拍照 進入了剛剛的建築物,一整個讓我傻眼,還以為進去是拜拜或是展覽的地方,結果看到星巴克和 7-11 等一堆商店,完全打破我對宗教的概念,這根本是佛光商店街吧 挑高的二樓,寫著龍天護佑,上面也是美食街,不過只看到兩家小吃。這感覺像台灣有很多的主題餐廳,而這裡的主題是佛祖? 穿過美食和商店街之後原來後面別有洞天,可以遠遠看到一尊大佛在前方,兩旁還有八座塔,當然還是遍地遊客 走 ...
TopCoder Inv 2001 R1 - HowEasy
資訊 路徑:Tournament \ 1-16 \ 1 - Inv 2001 R1 \ HowEasy 分數:250 題目程式介面1234Class Name: HowEasyMethod Name: pointValParameters: StringReturns: int 說明TopCoder 的題目依難度有三種分數,現在想要撰寫一個程式,能夠依據題目的描述的平均字長 (Average Word Length) 來決定分數: 平均字長小於等於 3 為 250 分。 平均字長 4 或 5 為 500 分。 平均字長大於等於 6 為 1000 分。 定義 Token:句子中的字元集以空白切開為。 Word:Token 由 [a-zA-Z] 組成,可能會有點結尾 (.),且至少一個字元。 Word Length:一個 Word 的字元數。 Average Word Length:所有 Word 的 Word Length 總和除以 Word 數,其中點不算字數,當 Word 數為 0 時 Average Word Length 為 0。 系統保證輸入 1 - 50個字元,包含 ...







