摘要: 拓展就是說並不是很明顯的可以套幷查集的模板,或者是要拐個彎的,或者幷查集優化的之類...poj 1703.Find them, Catch them這題就是兩個團伙,輸入A代表判斷這兩個人是否一個團伙,不同團伙,或者不確定;而輸入D則表示兩個人不是一個團伙;如果用幷查集的話,我們一般是合併同一個團伙... 阅读全文
posted @ 2015-08-13 15:08 dominjune 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 貪心算法:指再對問題求解的時候,總是做出在當前看來是最好的選擇,也就是不從整體上考慮最優,做出的是局部的最優解;看一下這題就明白了:poj 1456.Supermarket這題題意要注意,ddl是同一天的商品也可以都獲利,比如他們的ddl都是2,那麼就可以在第0天和第1天都賣了,一開始理解錯了,看了... 阅读全文
posted @ 2015-08-13 14:56 dominjune 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 深搜(dfs)就是一條路搜到底再回溯的過程,不像廣搜那樣一層一層地搜,一般用於找一條符合的路徑就ok了,而不用找到最短的路;今天做了一題很典型的深搜的題目,雖然之前做過挺多的,但是都沒有怎麼總結,寫起來不夠快...其實總結起來還是有一個大概的框架的:poj 2488.A Knight's Journ... 阅读全文
posted @ 2015-08-12 15:22 dominjune 阅读(155) 评论(0) 推荐(0) 编辑
摘要: Trie樹,字典樹,可以用於串的快速檢索,串的排序和求最長公共前綴,他的結構大概是這樣的:e.g.對於數字的字符串來說,Trie的結構體會包含一個next數組,存放1-10,就是數組大小為10,每個節點都指向一個這樣的數組; 00 0 0 0 0 0 0 0 0 0然後,假如讀入的字符... 阅读全文
posted @ 2015-08-12 09:08 dominjune 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 離散數學學過的哈夫曼編碼,就是通過哈夫曼樹實現的,每次選擇權值最小的兩個節點,實現的是可變長的編碼的壓縮...不說了實現的話可以用優先隊列,比如下面這個題:poj 3253.Fence Repair這題的題意坑死我了,看懂之後才發現這麼合理... 1 // poj 3253.Fence Repair... 阅读全文
posted @ 2015-08-11 14:39 dominjune 阅读(159) 评论(0) 推荐(0) 编辑
摘要: BFS就是廣度或者說是寬度優先搜索,用於圖的搜索,每次都是從一個節點開始,向四周都搜索一邊,放進隊列裡面,然後每次從隊列頭開始拿,再重複這個搜索的過程;因為這樣,他的特別之處在於 “广搜的特性,返回的第一个一定是最短的路径” !!!不同於深搜dfs,which is每次都是一個方向一路搜到底,而不是... 阅读全文
posted @ 2015-08-11 10:36 dominjune 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 幷查集是一種很diao的數據結構,應用的很典型的栗子就是找共同的祖先,或者說是一組數字指向同一個根,是一種樹形的結構;具體可以看一下這裡:別人家的博客比如,給出幾個數,作為同學的編號,他們的初始父親是一個叫-1的節點:-1 -1 -1 -11 2 3 4如果他們有著同樣的興趣愛好,那麼就可以把它們合... 阅读全文
posted @ 2015-08-11 10:26 dominjune 阅读(129) 评论(0) 推荐(0) 编辑
摘要: map就是一種映射了,比如 map m,就是string映射到int,m代表這個映射的數組,m[string] = int;映射完之後可以直接把string作為下標找到對應的int了!!!來一題:poj 2418.Hardwood Species本來還想連一下字典樹什麼的,原來可以有更簡單的方法,直... 阅读全文
posted @ 2015-08-10 11:03 dominjune 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 第一次用繁體字寫裝一下逼...KMP算法是一種改進的字符串匹配算法。KMP算法的關鍵是利用匹配失敗後的信息,儘量減少模式串與主串的匹配次數以達到快速匹配的目的。具體的實現就是實現一個next函數,函數本身包含了模式串的局部匹配的信息。當然我還不是很懂的...第一步是得到next數組,next[i]代... 阅读全文
posted @ 2015-08-09 17:40 dominjune 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 字符串处理的题可能有一些可以直接用到STL里面的函数,会很快很方便,比如cstring里面的strncpy和strstr:char*strncpy(char*dest,char*src,size_tn): 为字符串拼接函数,把src字符串的起始地址加上size长度(偏移量),copy到dest数组... 阅读全文
posted @ 2015-08-08 19:08 dominjune 阅读(253) 评论(0) 推荐(0) 编辑