動態規劃的方程大家都知道,就是
f[i,j]=min{f[i-1,j-1],f[i-1,j],f[i,j-1],f[i,j+1]}+a[i,j]
但是很多人會懷疑這道題的后效性而放棄動規做法。
本來我還想做Dijkstra,后來變了沒二十行pascal就告訴我數組越界了……(dist:array[1..1000*1001
div 2]...)
無奈之余看了xj_kidb1的題解,剛開始還覺得有問題,后來豁然開朗……
反復動規。上山容易下山難,我們可以從上往下走,最后輸出f[n][1]。
xj_kidb1的一個技巧很重要,每次令f[i][0]=f[i][i],f[i][i+1]=f[i][1](xj_kidb1的題解還寫錯了)
標簽:
動態規劃
方程
家
上傳時間:
2014-07-16
上傳用戶:libinxny
代入法的啟發示搜索
我的代碼實現是:按照自然語言各字母出現頻率的大小從高到低(已經有人作國統計分析了)先生成一張字母出現頻率統計表(A)--------(e),(t,a,o,i,n,s,h,r),(d,l),(c,u,m,w,f,g,y,p,b),(v,k,j,x,q,z)
,再對密文字母計算頻率,并按頻率從高到低生成一張輸入密文字母的統計表(B),通過兩張表的對應關系,不斷用A中的字母去替換B中的字母,搜索不成功時就回退,在這里回朔是一個關鍵。
標簽:
字母
頻率
搜索
代碼
上傳時間:
2015-10-24
上傳用戶:wanqunsheng