日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HDU 1243 最长公共子序列 动态规划

發(fā)布時(shí)間:2024/10/6 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HDU 1243 最长公共子序列 动态规划 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

HDU 1243

反恐訓(xùn)練營

Time Limit: 2000/1000 MS (Java/Others)????Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 5514????Accepted Submission(s): 1378

?

當(dāng)今國際反恐形勢很嚴(yán)峻,特別是美國“9.11事件”以后,國際恐怖勢力更是有恃無恐,制造了多起駭人聽聞的恐怖事件。基于此,各國都十分擔(dān)心恐怖勢力會對本國社會造成的不穩(wěn)定,于是紛紛在本國的軍隊(duì)、警察隊(duì)伍中開展了反恐訓(xùn)練。作為反恐立場堅(jiān)定的大國,中國也十分重視在人民解放軍、武裝警察部隊(duì)、人民警察隊(duì)伍中反恐訓(xùn)練,還專門成立了反恐特警隊(duì)。?

煒煒是反恐特警隊(duì)的一名新隊(duì)員,現(xiàn)在正在接受培訓(xùn)。這幾天剛好是射擊訓(xùn)練第二階段——實(shí)彈應(yīng)變訓(xùn)練的日子,此前的第一階段里,煒煒經(jīng)過努力,已經(jīng)將自己訓(xùn)練成為一個(gè)百發(fā)百中的神搶手了!這次,他將背著國產(chǎn)最新型12.7mm重型狙擊槍進(jìn)行訓(xùn)練比賽。?

這次訓(xùn)練比賽的規(guī)則是這樣的:?

1、每個(gè)隊(duì)員從出發(fā)點(diǎn)開始,沿著一條唯一的筆直道路跑直到終點(diǎn),途中不允許往回跑,否則將被取消比賽資格。?
2、出發(fā)前,每個(gè)隊(duì)員的槍膛內(nèi)都被裝了順序一樣的、用小寫英文字母標(biāo)明類型的子彈序列,每位隊(duì)員被告知這一序列的信息;同時(shí),每位隊(duì)員也被告知恐怖分子即將出現(xiàn)的序列和類型(同樣用小寫英文字母標(biāo)明類型)。?
3、在跑動的過程中,若發(fā)現(xiàn)“恐怖分子”,特警隊(duì)員可以選擇用槍擊斃他,來得到寫在“恐怖分子”胸前的得分,但是前提是他使用的子彈類型必須和“恐怖分子”類型相同,否則,即使擊斃了“恐怖分子”,也得不到分?jǐn)?shù);當(dāng)然選擇不擊斃他也是可以的,這樣他不會從那個(gè)“恐怖分子”身上得到分?jǐn)?shù)。?
4、允許特警隊(duì)員放空槍,這樣可以消耗掉型號不對的子彈而不至于殺死“恐怖分子”(當(dāng)然每個(gè)特警隊(duì)員都不會愚蠢到不裝消音裝置就放空槍,以至于嚇跑“恐怖分子”),等待槍口出現(xiàn)正確型號的子彈擊斃他得分。?

這里,我們假定:?
1、對于每個(gè)隊(duì)員,途中出現(xiàn)恐怖分子的地點(diǎn)、時(shí)間、類型也是完全一樣的。?
2、每顆子彈都是質(zhì)量合格的,都可以發(fā)揮殺傷效力?
3、由于隊(duì)員各個(gè)都是神槍手,一旦他選擇了正確的子彈,向目標(biāo)射擊,目標(biāo)100%被爆頭?
4、每個(gè)隊(duì)員的記憶力超強(qiáng),能記住所有子彈序列信息和恐怖分子序列信息。?
5、每個(gè)隊(duì)員體力足夠好,能跑完全程,并做他想要做的?
6、“恐怖分子”是不動的,小范圍內(nèi)不存在多于一個(gè)的恐怖分子;?

煒煒需要你的幫助,告訴他如何做,才能得到最高的分?jǐn)?shù)。現(xiàn)在如果告訴你出發(fā)時(shí)槍膛內(nèi)子彈的序號和型號、恐怖分子出現(xiàn)的序號和類型,你能告訴煒煒?biāo)疃嗄艿玫蕉嗌俜謹(jǐn)?shù)嗎??

Input

輸入數(shù)據(jù)的第一行有一個(gè)整數(shù)N表示子彈和恐怖分子的類型數(shù)。隨后的一行是各種恐怖分子類型的一行字母,兩個(gè)字母之間沒有任何字符。接下來的一行是擊斃上一行對應(yīng)位置恐怖分子類型的得分?jǐn)?shù),每個(gè)分?jǐn)?shù)之間恰有一個(gè)空格。第三第四行分別表示開始時(shí)槍膛內(nèi)子彈的序列(左邊的先打出)和恐怖分子出現(xiàn)的序列(左邊的先出現(xiàn)),字母之間都沒有任何字符。?
每個(gè)測試數(shù)據(jù)之間沒有空格和空行。你的程序必須通過全部測試數(shù)據(jù),才能被判為AC。?

Output

對于每一個(gè)測試數(shù)據(jù),輸出煒煒最多能得到的分?jǐn)?shù)。?

Sample Input

3 abc 1 1 1 abc ccc 3 abc 1 1 1 ccc aba

Sample Output

1 0 #include<iostream> #include<cstdio> #include<cstring> using namespace std; int dp[2005][2005]; char s[30],m[2005],k[2005]; int b[30]; int main() {int n;while(~scanf("%d",&n)){scanf("%s",s);for(int i=0;i<n;i++){scanf("%d",&b[s[i]-'a']);}scanf("%s%s",m,k);int n1=strlen(m);int n2=strlen(k);memset(dp,0,sizeof(int)*(n1+1));for(int i=0;i<=n2;i++)dp[0][i]=0;for(int i=1;i<=n1;i++){for(int j=1;j<=n2;j++){if(m[i-1]==k[j-1])dp[i][j]=dp[i-1][j-1]+b[m[i-1]-'a'];else dp[i][j]=max(dp[i-1][j],dp[i][j-1]);}}printf("%d\n",dp[n1][n2]);} }

?

?

總結(jié)

以上是生活随笔為你收集整理的HDU 1243 最长公共子序列 动态规划的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。