國慶假期已經接近尾聲,我看了看這幾天的**,略有所得。
dp基礎:
動態規劃(dynamic programming,dp)是運籌學的乙個分支,是求解決策過程最優化的過程。20世紀50年代初,美國數學家貝爾曼(r.bellman)等人在研究多階段決策過程的優化問題時,提出了著名的最優化原理,從而創立了動態規劃。動態規劃的應用極其廣泛,包括工程技術、經濟、工業生產、軍事以及自動化控制等領域,並在揹包問題、生產經營問題、資金管理問題、資源分配問題、最短路徑問題和複雜系統可靠性問題等中取得了顯著的效果。
例如洛谷的p1002(過河卒)一道較為入門的dp;
題目如下:
棋盤上 a點有乙個過河卒,需要走到目標b點。卒行走的規則:可以向下、或者向右。同時在棋盤上c點有乙個對方的馬,該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。因此稱之為「馬攔過河卒」。
棋盤用座標表示,a點 (0, 0)b點 (n, m)同樣馬的位置座標是需要給出的。
現在要求你計算出卒從a點能夠到達b點的路徑的條數,假設馬的位置是固定不動的,並不是卒走一步馬走一步。
一行四個正整數,分別表示 bb 點座標和馬的座標。
乙個整數,表示所有的路徑條數。
我們來模擬一下:a是a點 , b是b點, m是馬的位置, x是馬不能走的點。
a 0 0 0 0 0 0
0 0 x 0 x 0 0
0 x 0 0 0 x 0
0 0 0 m 0 0 0
0 x 0 0 0 x 0
0 0 x 0 x 0 0
0 0 0 0 0 0 b
所以便有轉移方程:
f[i][j]=max(f[i−1][j]+f[i][j−1],f[i][j])
#includeusing namespace std;
int dir[8][2]=,,,,,,,};
bool d[30][30];
long long dp[30][30];
int main()
} dp[0][0]=1;
for(int i=0;i<=n;i++)
if(j)
}} }
cout
}
iPad略有失望
今天忙了一整天,現在才有時間好好的整理一下ipad的資訊和思路。總體來講,ipad發布沒有iphone帶來的驚喜大,可能有兩個原因 1 我們對ipad猜測,已經太多了,它能做到的功能大家基本都猜到了 一些小原因不喜歡ipad。首先是樣子,我覺得比例不好,太方了 其次,鍵盤沒有使用我猜測的方式,自動的...
redis 淘汰策略有哪些?
maxmemory 用於指定 redis 能使用的最大記憶體。既可以在 redis.conf 檔案中設定,也可以在執行過程中通過 config set 命令動態修改。例如,要設定 100mb 的記憶體限制,可以在 redis.conf 檔案中這樣配置 maxmemory 100mb 當記憶體使用達到...
測試的策略有哪些?
測試的策略有哪些?已登出 黑盒 白盒,靜態 動態,手工 自動,冒煙測試,回歸測試,公測 beta測試的策略 按開發階段劃分 1,單元測試 unit testing 又稱模組測試。對軟體的組成單位進行測試,其目的是檢驗軟體 基本組成單位的正確性。測試的物件的是軟體測試的最小單位 模組。2,整合測試 i...