搜尋BFS

HDU 1175  連連看http://acm.hdu.edu.cn/showproblem.php?pid=1175//BFS#include<cstdio>#include<queue>using namespace std;bool flag;int n,m,q,x1,y1,x2,y2;int map[1005][1005];int visit[1005][1005];int dir[4][2] = {{0,1},{1,0},{0,-1},{-1,0}}; //

poj 2752 Seek the Name, Seek the Fame(理解KMP的失配函數!)

連結:http://poj.org/problem?id=2752題目大意:給一個字串S, 求出所有首碼pre,使得這個首碼也正好是S的尾碼。 輸出所有首碼的結束位置。例如 “ababcababababcabab”, 以下這些首碼也同時是S的尾碼ab  :  位置2abab  : 位置4ababcabab : 位置9ababcababababcabab : 位置 18分析與總結:這題,關鍵在於對KMP的失配函數的理解。只要真正理解了,那麼做出來完全不成問題。下面是後來在網上找的一個圖片,很形象.

HDU 3336 Count the string(經典,KMP+DP)

連結:http://acm.hdu.edu.cn/showproblem.php?pid=3336題目大意:給一個字串,求出這個字串的所有首碼出現的次數之和。分析與總結:運用到了dp的思想,dp弱逼一個表示壓力很大。。。向這位博主大人學習了:http://www.cnblogs.com/yuelingzhi/archive/2011/08/03/2126346.html找出首碼後,算出現次數,很明顯的是一個單模式串匹配問題,KMP 可以很好的解決,不過如果直接這樣暴力的話,O(n^2)

uva 11552 – Fewest Flops( 多維dp )

本文出自   http://blog.csdn.net/shuangde800題目: 點擊開啟連結題意給一個字串,把它分為k塊,例如字串“helloworld”分成2塊,"hello", "world"每一塊裡面的字母可以任意的排序。最終字串, 連續的一樣的字母算作一個chunk,問總chunks最少是多少?思路f[i][j]: 第i塊的第j位排在最後一位的最少chunks對於每個單獨的一塊,它的chunks就是等於出現的不同字母數第i塊的chunks記做

poj 2541 Binary Witch(KMP水過,逆序轉換)

連結:http://poj.org/problem?id=2541分析與總結:做這題估算了下複雜度,覺得無論KMP再怎麼快,這題暴力也肯定要逾時的。想了很久也沒想出個好辦法,於是決定暴力之,但是TLE了....於是就放了幾天。之後看了下discuss,這題的正解應該是狀態壓縮dp,不過目前我還不懂,跪了。之後百度發現也可以用KMP水過,雖然是因為資料水才過的,不過這種思路很巧妙,值得借鑒!直接暴力是枚舉字串的後面13個的字母,然後再用KMP匹配,這樣的話,就緒要枚舉多次,分別是後面的13,12,

HDU 4300 Clairewd’s message(拓展KMP)

連結:http://acm.hdu.edu.cn/showproblem.php?pid=4300題目大意:發送一個密文,為字串S。這段密文的前半部份是加密過的,後半部分是沒有加密過的。現在這段密文被截獲,但是密文的尾部的一部份損失了。例如,假設密文是xxxxzzzz, xxxx是加密過的,zzzz是沒加密的,因為損失了後面一部份,所以截獲的內容可能為xxxxzz,

uva 10534 – Wavio Sequence(nlgn複雜度LIS)

點擊開啟連結題目大意:Wavio Sequence是這樣的一種數字序列:它的長度為2*n+1, 前n+1個數字是嚴格遞增的,後n+1個數字是嚴格遞減的。然後任意給一個序列,問它的Wavio Sequence子序列最長可以是多少?分析:對於第i個字元,如果我們知道0~i的最長遞增序列, 並且知道i~n的最長遞減序列,那麼我們就可以知道以i為中心點的最長的Wavio Sequence。所以, left_up[i]表示以i為結束點的最長遞增序列長度,

HDU 2594 Simpsons’ Hidden Talents(KMP)

連結:http://acm.hdu.edu.cn/showproblem.php?pid=2594題目大意:給兩個字串s1和s2, 求出是s1的首碼並且是s2的尾碼的最長的字串。分析與總結:真正理解好KMP演算法,這題就是水題。首先求出s1的失配函數,然後在s2中尋找s1字串。 在尋找字串過程中,會有一個狀態值j,這個值表示的是當前在s2中已經匹配了多少個s1的字元。

HDU 3374 String Problem(最小最大標記法+KMP)

連結:http://acm.hdu.edu.cn/showproblem.php?pid=3374題目大意:給定一個字串S, 可以通過向左移位得到另一個字串。例如,S="SKYLONG", 通過位移得到的所有字串(後面的數字表示rank,即第幾個):SKYLONG 1KYLONGS 2YLONGSK 3LONGSKY 4ONGSKYL 5NGSKYLO 6GSKYLON

UVA 1424 – Salesmen (dp)

題目:點擊開啟連結題意:給一個n個點m條邊的有向非循環圖,再給一個長度L的序列A,然後求圖中的一條長度為L的路徑B(這條路徑的同一個點可以連續重複出現多次)問路徑B和序列A不相等的數最少多少, 即Ai != Bi,  0<=i<L的數。思路:剛看這題,就覺得像樹形dp,最終做出來不像樹形dp。。f[i][j]表示i點,在路徑序列的前j點中的最小距離。那麼j=0, f[u][0] = d(u, arr[0]);j>0, f[u][j] = min(f[u][j], f[v][j-

uva 11584 – Partitioning by Palindromes(簡單dp)

點擊開啟連結題目大意:給一個字串, 要求把它分割成若干個子串,使得每個子串都是迴文串。問最少可以分割成多少個。分析:f[i]表示以i結尾的串最少可以分割的串數。f[i] = min{ f[j]+1, 串[j,i]是迴文串&&1<=j<=i }代碼:#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm&

UVa 112 – Tree Summing 二叉樹構造, 二叉樹路徑和

112 - Tree Summing2621825.54%546275.81%  題目連結:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=&problem=48&mosmsg=Submission+received+with+ID+10280379題目類型: 資料結構, 二叉樹加強版範例輸入:22 (5(4(11

UVa 331 – Mapping the Swaps

題目連結:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=108&page=show_problem&problem=267題目類型: 回溯原題:Sorting an array can be done by swapping certain pairs of adjacent entries in the array. This is the

UVa 10986 – Sending email (Dijkstra最佳化, SPFA)

連結:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=1927題目:Problem ESending emailTime Limit: 3 seconds"A new internet watchdog is creating a stir inSpringfield. Mr. X, if that

uva 10003 Cutting Sticks (區間dp)

本文出自   http://blog.csdn.net/shuangde800題目連結:  開啟題目大意一根長為l的木棍,上面有n個"切點",每個點的位置為c[i]要按照一定順序把每個點都砍段,最後變成了n+1段每砍一次,就會有一個花費,例如長度為10,“切點”為2,那麼砍完後會變成兩段2,8, 那麼花費為2+8=10如果有多個“切點”,那麼不同順序切會得到不同的花費。問最小花費是多少?思路注意要增加一個c[n] = lf(i, j) 表示(i,j)區間的最小花費f(i, j) = min{

uva 1169 – Robotruck (單調隊列最佳化dp)

本文出自

最長上升子序列(LIS)長度的O(nlogn)演算法

hdu 1950 Bridging signalshttp://acm.hdu.edu.cn/showproblem.php?pid=1950===================================最長上升子序列(LIS)的典型變形,熟悉的n^2的動歸會逾時。LIS問題可以最佳化為nlogn的演算法。定義d[k]:長度為k的上升子序列的最末元素,若有多個長度為k的上升子序列,則記錄最小的那個最末元素。注意d中元素是單調遞增的,下面要用到這個性質。首先len = 1,d[1] =

UVa 558 – Wormholes (求負迴路)

連結:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=&problem=499&mosmsg=Submission+received+with+ID+10614453題目:  Wormholes In the year 2163, wormholes were discovered. A wormhole is

UVa 10801 – Lift Hopping(Dijkstra, SPFA最短路)

 連結:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=1742題目:Problem ?Lift HoppingTime Limit: 1 secondTed the bellhop: "I'm coming up and if there isn'ta dead body by the time

uva 1484 Alice and Bob’s Trip (樹形dp)

本文出自   http://blog.csdn.net/shuangde800題目來源: UVA    HDU

總頁數: 61357 1 .... 15157 15158 15159 15160 15161 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.