随笔分类 - poj
摘要:對一個有向無環圖(DAG)進行拓撲排序,是將G中所有頂點排成一個線性序列,使得圖中任意一對頂點u和v,若邊(u,v)∈E(G),則u在線性序列中出現在v之前;過程是從入度為0的點開始,放入隊列,然後把該點指向的全部節點的入度減一,如果有頂點的入度變為0了,那麼就放進隊列...poj 2367.Gen...
阅读全文
摘要:冪運算有n多次乘法,是很耗時的,所以就有了快速冪這種東西,但是冪很容易爆掉,所以一般就有了快速冪取模,實現就套模板就好了,但是重在理解,原理跟二進制的位運算有關...而費瑪小定理則看下面這一題,雖然這題跟費瑪小定理並沒有什麼關係,就是快速冪而已,但是涉及到了定義,看一下很是好的!畢竟以後會用到吧.....
阅读全文
摘要:拓展就是說並不是很明顯的可以套幷查集的模板,或者是要拐個彎的,或者幷查集優化的之類...poj 1703.Find them, Catch them這題就是兩個團伙,輸入A代表判斷這兩個人是否一個團伙,不同團伙,或者不確定;而輸入D則表示兩個人不是一個團伙;如果用幷查集的話,我們一般是合併同一個團伙...
阅读全文
摘要:貪心算法:指再對問題求解的時候,總是做出在當前看來是最好的選擇,也就是不從整體上考慮最優,做出的是局部的最優解;看一下這題就明白了:poj 1456.Supermarket這題題意要注意,ddl是同一天的商品也可以都獲利,比如他們的ddl都是2,那麼就可以在第0天和第1天都賣了,一開始理解錯了,看了...
阅读全文
摘要:深搜(dfs)就是一條路搜到底再回溯的過程,不像廣搜那樣一層一層地搜,一般用於找一條符合的路徑就ok了,而不用找到最短的路;今天做了一題很典型的深搜的題目,雖然之前做過挺多的,但是都沒有怎麼總結,寫起來不夠快...其實總結起來還是有一個大概的框架的:poj 2488.A Knight's Journ...
阅读全文
摘要:Trie樹,字典樹,可以用於串的快速檢索,串的排序和求最長公共前綴,他的結構大概是這樣的:e.g.對於數字的字符串來說,Trie的結構體會包含一個next數組,存放1-10,就是數組大小為10,每個節點都指向一個這樣的數組; 00 0 0 0 0 0 0 0 0 0然後,假如讀入的字符...
阅读全文
摘要:離散數學學過的哈夫曼編碼,就是通過哈夫曼樹實現的,每次選擇權值最小的兩個節點,實現的是可變長的編碼的壓縮...不說了實現的話可以用優先隊列,比如下面這個題:poj 3253.Fence Repair這題的題意坑死我了,看懂之後才發現這麼合理... 1 // poj 3253.Fence Repair...
阅读全文
摘要:BFS就是廣度或者說是寬度優先搜索,用於圖的搜索,每次都是從一個節點開始,向四周都搜索一邊,放進隊列裡面,然後每次從隊列頭開始拿,再重複這個搜索的過程;因為這樣,他的特別之處在於 “广搜的特性,返回的第一个一定是最短的路径” !!!不同於深搜dfs,which is每次都是一個方向一路搜到底,而不是...
阅读全文
摘要:幷查集是一種很diao的數據結構,應用的很典型的栗子就是找共同的祖先,或者說是一組數字指向同一個根,是一種樹形的結構;具體可以看一下這裡:別人家的博客比如,給出幾個數,作為同學的編號,他們的初始父親是一個叫-1的節點:-1 -1 -1 -11 2 3 4如果他們有著同樣的興趣愛好,那麼就可以把它們合...
阅读全文
摘要:map就是一種映射了,比如 map m,就是string映射到int,m代表這個映射的數組,m[string] = int;映射完之後可以直接把string作為下標找到對應的int了!!!來一題:poj 2418.Hardwood Species本來還想連一下字典樹什麼的,原來可以有更簡單的方法,直...
阅读全文
摘要:第一次用繁體字寫裝一下逼...KMP算法是一種改進的字符串匹配算法。KMP算法的關鍵是利用匹配失敗後的信息,儘量減少模式串與主串的匹配次數以達到快速匹配的目的。具體的實現就是實現一個next函數,函數本身包含了模式串的局部匹配的信息。當然我還不是很懂的...第一步是得到next數組,next[i]代...
阅读全文
摘要:字符串处理的题可能有一些可以直接用到STL里面的函数,会很快很方便,比如cstring里面的strncpy和strstr:char*strncpy(char*dest,char*src,size_tn): 为字符串拼接函数,把src字符串的起始地址加上size长度(偏移量),copy到dest数组...
阅读全文
摘要:SPFA(Shortest Path Faster Algorithm)(队列优化)算法是求单源最短路径的一种算法,在Bellman-ford算法的基础上加上一个队列优化,减少了冗余的松弛操作,是一种高效的最短路算法.......听说他跟dijkstra+heap更配噢!至于向前星,就是储存边的一种...
阅读全文
摘要:好久没写了...先摘一段百度的关于记忆化搜索的定义和比较:记忆化搜索: 算法上依然是搜索的流程,但是搜索到的一些解用动态规划的那种思想和模式作一些保存。一般说来,动态规划总要遍历所有的状态,而搜索可以排除一些无效状态。更重要的是搜索还可以剪枝,可能剪去大量不必要的状态,因此在空间开销上往往比动态规...
阅读全文
浙公网安备 33010602011771号