原创 貪心算法證明的回憶

關於貪心選擇證明的理解,突然有點想不通了。。。 拿最簡單的活動安排問題,我在想貪心選擇先找f1,然後剩下的2->N逐個找能與之前兼容的活動,按照f 不遞減序排列。如果存在一個最優解,第一個活動是k, 那麼 k後面的活動自然與 f1 兼容,

原创 通俗理解TCP握手次數是三次?

理解之後,應該說是至少三次就可以保證可靠傳輸了。 看到網上一篇帖子http://www.cnblogs.com/TechZi/archive/201

原创 找唯一不出現三次而出現1次的數子O(n)位運算算法

之前兩次那個是異或運算處理,這次以爲也是類似,但是沒想出來。 高富帥想出來了算法,轉爲bitset,然後加起來 相同的話 要麼0+0+0 要麼1+1

原创 回溯法 或dfs 或深度優先 題總結

回溯法總結 一道數字到字符串的題,將數字映射到手機的字符串上,是編程之美版本的簡略版,簡明的DFS,其實我更願意用backtrack framewo

原创 多重loop之 continue break設計

昨天看到msdn一個找滿足所有criterion的item,找到則返回一個,總結了多重循環程舍continue的設計 ,挺有意思。感覺這種問題大家都

原创 最大子數組和新的解法-前綴和

class Solution { public: int maxSubArray(vector<int>& a) { int n=a.size(); int dp, ans; ans

原创 linklist Qsort

後來再看題目發現要求是常數空間複雜度,但是實際上mergesort也過了,也可能是隻加了一個數組的緣故。 qsort其實比mergesort在鏈表上更好實現,但是還是需要便利一遍找tail指針,這次是常數空間,然而卻TLE了。。。。 要麼

原创 二叉樹路徑和問題

今天回顧了一下二叉樹給定sum的問題,邏輯還是有問題,本以爲對的,寫了如下的代碼 bool hasPathSum(TreeNode *root, int sum) { if(root==NULL && sum==0) r

原创 Linklist O(nlogn) sort

O(nlogn)屬於性能較優的排序算法,但是用在鏈表確實要注意很多,它不支持高效的隨機訪問,所以需要用在qsort這種,估計達不到O(logn)  這時突然想起來其實還是可以用 lumoto版的partition來qsort的,後面再試試

原创 SKWIC算法推導

點贊 收藏 分享 文章舉報 richardzrc 發佈了98 篇原創文章 · 獲贊 0 · 訪問量 10萬+ 私信 關注

原创 July收集荷蘭國旗問題之三路partition

這道題目和分成兩塊的partition的擴展,例如有一堆0 1 2 數字組成的數組,要分成 00 00  11 1 1  222 2這種順序的。 利用lumoto版的partition可以很好的解決,比hoare好多了,而且直接利用lo

原创 初始vector爲空,那麼push_back N次時間複雜度多少

總結: 好像沒有設置vector的capabilities的方法,都是系統自動分配的。所以如果一開始設置容量下的話,一直resize,搬元素效率很低

原创 TopoSort 實現之不用高端靜態鏈棧算法

和fawks大神探討之後,理解了大神的思維方式,收穫不少。感覺當年DS學的靜態鏈棧實在坑爹,而且麻煩,好像和我的本質沒有太大的區別哦。時間複雜度O(

原创 條件熵定義推導公式

http://ccckmit.wikidot.com/st:mutualinformation  這篇博客非常不錯,深入淺出,李航的似乎 沒有講清楚 點贊 2 收藏 分享 文章舉報

原创 cpp coding隨筆

最近非常代碼鬱悶,遇到各種不順心。寫個Huffman,想用二叉樹實現,之前的構造二叉樹都完成了,當時還記得 夏令營之後和趙王軍Acmer交流了一下,