国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

頭歌實(shí)驗(yàn)七 動(dòng)態(tài)規(guī)劃

這篇具有很好參考價(jià)值的文章主要介紹了頭歌實(shí)驗(yàn)七 動(dòng)態(tài)規(guī)劃。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

本關(guān)任務(wù):編寫(xiě)用動(dòng)態(tài)規(guī)劃解決數(shù)塔問(wèn)題。

相關(guān)知識(shí)

為了完成本關(guān)任務(wù),你需要掌握:動(dòng)態(tài)規(guī)劃。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-475218.html

編程要求

頭歌實(shí)驗(yàn)七 動(dòng)態(tài)規(guī)劃

求上圖從頂層到頂層的一個(gè)路徑,使路徑上的數(shù)字和最大。要求輸出最大的數(shù)字和max和數(shù)值和最大的路徑。

#include <stdio.h> 
#define N 5 //問(wèn)題規(guī)模
int main() {
	int a[50][50];
	a[1][1] = 9;
	a[2][1] = 12, a[2][2] = 15;
	a[3][1] = 10, a[3][2] = 6, a[3][3] = 8;
	a[4][1] = 2, a[4][2] = 18, a[4][3] = 9, a[4][4] = 5;
	a[5][1] = 19, a[5][2] = 7, a[5][3] = 10, a[5][4] = 4, a[5][5] = 16;

	int i, j, dp[50][50] = { 0 }, path[50][50] = { 0 };
	for (j = 1; j <= N; j++)                           //初始子問(wèn)題 ,倒數(shù)第二層(第i-1層)開(kāi)始
		dp[N][j] = a[N][j];
	for (i = N - 1; i >= 1; i--)                       //進(jìn)行第 i+1 層的決策,從i 到 1 向上
		for (j = 1; j <= i+1; j++) {                     //每一層有 i+1 個(gè)
			if (dp[i + 1][j] > dp[i + 1][j + 1]) {
				dp[i][j] = a[i][j] + dp[i + 1][j];
				path[i][j] = j;                        //本次決策選擇下標(biāo)j的元素
			}
			else {
				dp[i][j] = a[i][j] + dp[i + 1][j + 1];
				path[i][j] = j + 1;                     //本次決策選擇下標(biāo)j+1的元素
			}
		}
	printf("max=%d\n", dp[1][1]);
	printf("數(shù)值和最大的路徑是:");            
	j = path[1][1];                          //計(jì)算dp[1][1]的選擇
	for (i = 1; i < N; i++)
	{
		printf("%d->", a[i][j]);
		j = path[i][j];                         //計(jì)算dp[i][j]的選擇
	}
	printf("%d\n", a[i][j]);
	
}


/********** End **********/

?

本關(guān)任務(wù):編寫(xiě)用動(dòng)態(tài)規(guī)劃解決最長(zhǎng)公共子序列問(wèn)題。

相關(guān)知識(shí)

為了完成本關(guān)任務(wù),你需要掌握:動(dòng)態(tài)規(guī)劃。

編程要求

求字符串序列“ABCDBAB”和“BDCABA”的最長(zhǎng)公共子序列

#include <stdio.h>
#include <string.h>
int dp[100][100];
char a[100];
char b[100];
int maxm(int m,int n){
	if(m>n) return m;
	else return n;
}
int main(){
	scanf("%s",a);
	scanf("%s",b);
	int m=strlen(a);
	int n=strlen(b);
	for(int i=1;i<=m;i++){
		for(int j=1;j<=n;j++){
			if(a[i-1]==b[j-1]){
				dp[i][j]=dp[i-1][j-1]+1;
			}
			else{
				dp[i][j]=maxm(dp[i-1][j],dp[i][j-1]);
			}
		}
	}
	//bnchdn
	//chdn
	printf("%d",dp[m][n]);
} 

/********** End **********/

本關(guān)任務(wù):編寫(xiě)用動(dòng)態(tài)規(guī)劃解決最大子段和問(wèn)題。

相關(guān)知識(shí)

為了完成本關(guān)任務(wù),你需要掌握:動(dòng)態(tài)規(guī)劃。

編程要求

給定由n個(gè)整數(shù)(可能為負(fù)數(shù))組成的序列:a1,a2,……,an, 求該序列的最大子段和。當(dāng)所有整數(shù)均為負(fù)數(shù),定義其最大子段和為0。

#include <stdio.h>
/********** Begin **********/
int main(){
	int n;
	scanf("%d",&n);
	int a[n][2];
	int max=0;
	for(int i=0;i<n;i++){
		scanf("%d",&a[i][0]);
		if(i==0){
			a[i][1]=a[i][0];
		}
		else{
			a[i][1]=a[i-1][1]+a[i][0]>a[i][0]?a[i-1][1]+a[i][0]:a[i][0];
		}
		
		max=max>a[i][1]?max:a[i][1];
		
	}
	printf("%d",max);
	return 0;
	
}
/********** End **********/

本關(guān)任務(wù):編寫(xiě)用動(dòng)態(tài)規(guī)劃解決求最長(zhǎng)的單調(diào)遞增子序列長(zhǎng)度問(wèn)題。

相關(guān)知識(shí)

為了完成本關(guān)任務(wù),你需要掌握:動(dòng)態(tài)規(guī)劃。

編程要求

給定一個(gè)長(zhǎng)度為n的數(shù)組,找出一個(gè)最長(zhǎng)的單調(diào)遞增子序列(不一定連續(xù),但是順序不能亂)。例如:給定一個(gè)長(zhǎng)度為7的數(shù)組A5,6,7,1,2,8,9,則其最長(zhǎng)的單調(diào)遞增子序列為5,6,7,8,9,長(zhǎng)度為5。求318714101223411624的最長(zhǎng)的單調(diào)遞增子序列長(zhǎng)度。

#include <stdio.h>
/********** Begin **********/
int main(){
	 int n;
	 scanf("%d",&n);
	 int m[n][3];
	 m[0][1]=1;
	 m[0][2]=0;
	 for(int i=0;i<n;i++){
		scanf("%d",&m[i][0]);
		if(i!=0){
			m[i][1]=0;
			int k=i-1;
			while(k>=0){
				if(m[i][0]>m[k][0]){
						if(k==i-1){
							m[i][1]=m[k][1]+1;
							m[i][2]=k;
						}
						else{
							int max=m[k][1]+1;
							if(max>m[i][1]){
								m[i][1]=max;
								m[i][2]=k;	
							}
					    }
				}
			 k--;
			}
			if(k<0&&m[i][1]==0){
			    m[i][1]=1;
			    m[i][2]=i;
			}
		}
	 }

	int max=m[0][1],j=0;
	for(int i=0;i<n;i++){
	      if(m[i][1]>=max){
	             max=m[i][1];
	             j=i;
	      }
	 }
	printf("%d\n",max);


}
/********** End **********/

本關(guān)任務(wù):編寫(xiě)用動(dòng)態(tài)規(guī)劃解決矩陣連乘問(wèn)題。

相關(guān)知識(shí)

為了完成本關(guān)任務(wù),你需要掌握:動(dòng)態(tài)規(guī)劃。

#include <stdio.h>
#include <stdlib.h>
/********** Begin **********/
int main(){
	int n;
	scanf("%d",&n);
	int a[n][2];
	int b[n][n]={0};
	for(int i=0;i<n;i++){
	    scanf("%d %d",&a[i][0],&a[i][1]);   
	}
	
	for(int i=1;i<n;i++){
	    for(int j=0;j<n-i;j++){
	      b[j][j+i]=b[j][j]+b[j+1][j+i]+a[j][0]*a[j][1]*a[j+i][1];         
	      int k=j+1;
	      for(;k<j+i;k++){
	              int t=b[j][k]+b[k+1][j+i]+a[j][0]*a[k][1]*a[j+i][1];
	                if(t<b[j][j+i]) {
	                    b[j][j+i]=t;
	                }
	              
	      }
	
	    }
	        
	}
	printf("m[%d][%d]=%d",1,n,b[0][n-1]);
	return 0;
}

/********** End **********/

到了這里,關(guān)于頭歌實(shí)驗(yàn)七 動(dòng)態(tài)規(guī)劃的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)】實(shí)驗(yàn)三 IP網(wǎng)絡(luò)規(guī)劃與路由設(shè)計(jì)(頭歌)

    【計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)】實(shí)驗(yàn)三 IP網(wǎng)絡(luò)規(guī)劃與路由設(shè)計(jì)(頭歌)

    目錄 一、知識(shí)點(diǎn) 二、實(shí)驗(yàn)任務(wù) 三、頭歌測(cè)試 IP子網(wǎng)掩碼的兩種表示方法 ?? 32位IP子網(wǎng)掩碼,特點(diǎn)是從高位開(kāi)始連續(xù)都是1,后面是連續(xù)的0,它有以下兩種表示方法: 傳統(tǒng)表示法,如:255.255.255.0 IP前綴(長(zhǎng)度),如:24,表示IP地址的前24位是網(wǎng)絡(luò)位。 節(jié)點(diǎn)、網(wǎng)段、廣播三種

    2024年02月04日
    瀏覽(141)
  • 國(guó)開(kāi)電大《WEB開(kāi)發(fā)基礎(chǔ)》形考任務(wù)【答案】實(shí)驗(yàn)1-5:電商網(wǎng)站前端頁(yè)面內(nèi)容編寫(xiě)

    國(guó)開(kāi)電大《WEB開(kāi)發(fā)基礎(chǔ)》形考任務(wù)【答案】實(shí)驗(yàn)1-5:電商網(wǎng)站前端頁(yè)面內(nèi)容編寫(xiě)

    國(guó)開(kāi)電大《WEB開(kāi)發(fā)基礎(chǔ)》形考任務(wù)1 國(guó)開(kāi)電大《WEB開(kāi)發(fā)基礎(chǔ)》形考任務(wù)1 國(guó)開(kāi)電大《WEB開(kāi)發(fā)基礎(chǔ)》形考任務(wù)3 國(guó)開(kāi)電大《WEB開(kāi)發(fā)基礎(chǔ)》形考任務(wù)4 國(guó)開(kāi)電大《WEB開(kāi)發(fā)基礎(chǔ)》形考任務(wù)5 作業(yè)答案 聯(lián)系QQ:1603277115 【目標(biāo)】 根據(jù)素材中的設(shè)計(jì)圖,編寫(xiě)網(wǎng)站首頁(yè),查詢(xún)列表頁(yè)和詳情頁(yè)三

    2024年02月03日
    瀏覽(101)
  • 獨(dú)立任務(wù)的最優(yōu)調(diào)度問(wèn)題(動(dòng)態(tài)規(guī)劃)

    獨(dú)立任務(wù)的最優(yōu)調(diào)度問(wèn)題(動(dòng)態(tài)規(guī)劃)

    問(wèn)題描述: 用2臺(tái)處理機(jī)A和B處理n個(gè)作業(yè)。設(shè)第i個(gè)作業(yè)交給機(jī)器A處理時(shí)需要時(shí)間ai,若由機(jī)器B來(lái)處理,則需要時(shí)間bi。由于各作業(yè)的特點(diǎn)和機(jī)器的性能關(guān)系,很可能對(duì)于某些i,有aibi,而對(duì)于某些j,j≠i,有ajbj。既不能將一個(gè)作業(yè)分開(kāi)由2臺(tái)機(jī)器處理,也沒(méi)有一臺(tái)機(jī)器能同時(shí)處理

    2024年02月04日
    瀏覽(22)
  • 實(shí)驗(yàn)七 動(dòng)態(tài)規(guī)劃

    實(shí)驗(yàn)七 動(dòng)態(tài)規(guī)劃

    第1關(guān):數(shù)塔問(wèn)題 300 任務(wù)要求 參考答案 評(píng)論9 任務(wù)描述 相關(guān)知識(shí) 編程要求 解題思路: 測(cè)試說(shuō)明 任務(wù)描述 本關(guān)任務(wù):編寫(xiě)用動(dòng)態(tài)規(guī)劃解決數(shù)塔問(wèn)題。 相關(guān)知識(shí) 為了完成本關(guān)任務(wù),你需要掌握:動(dòng)態(tài)規(guī)劃。 編程要求 求上圖從頂層到頂層的一個(gè)路徑,使路徑上的數(shù)字和最大

    2024年01月25日
    瀏覽(16)
  • 算法設(shè)計(jì)與分析實(shí)驗(yàn)---動(dòng)態(tài)規(guī)劃

    算法設(shè)計(jì)與分析實(shí)驗(yàn)---動(dòng)態(tài)規(guī)劃

    任務(wù)描述 沿著河岸擺放 N 堆石子,現(xiàn)要將石子有次序地合并成一堆,規(guī)定每次只能選相鄰的 2 堆合并成新的一堆,并將新的一堆的石子數(shù),記為該次合并的得分。 例如: 4 堆石子 4,5,9,4 ,可以按 (((4,5),9),4) 合并。 第一次合并得分是 9 分,合并之后石子堆是 9,9,4 第二次合并得

    2024年02月08日
    瀏覽(21)
  • 動(dòng)態(tài)規(guī)劃問(wèn)題實(shí)驗(yàn):數(shù)塔問(wèn)題

    動(dòng)態(tài)規(guī)劃問(wèn)題實(shí)驗(yàn):數(shù)塔問(wèn)題

    動(dòng)態(tài)規(guī)劃是一種解決復(fù)雜問(wèn)題的方法,它將一個(gè)問(wèn)題分解為若干個(gè)子問(wèn)題,然后從最簡(jiǎn)單的子問(wèn)題開(kāi)始求解,逐步推導(dǎo)出更復(fù)雜的子問(wèn)題的解,最終得到原問(wèn)題的最優(yōu)解。動(dòng)態(tài)規(guī)劃的關(guān)鍵是找到子問(wèn)題之間的遞推關(guān)系,以及確定合適的邊界條件和初始值。 數(shù)塔問(wèn)題是一個(gè)經(jīng)典

    2024年02月10日
    瀏覽(22)
  • 算法設(shè)計(jì)與分析 實(shí)驗(yàn)三 動(dòng)態(tài)規(guī)劃

    1.打家劫舍:? 給定一個(gè)代表每個(gè)房屋存放金額的非負(fù)整數(shù)數(shù)組,計(jì)算你 不觸動(dòng)警報(bào)裝置的情況下 ,一夜之內(nèi)能夠偷竊到的最高金額。 入: 每組測(cè)試案例有兩行,第一行只有一個(gè)整數(shù)N,代表著有N間房屋 第二行有N個(gè)整數(shù),代表著每間房屋里的金額,金額范圍[0, 1000]。 出:

    2024年01月24日
    瀏覽(27)
  • 算法設(shè)計(jì)與分析實(shí)驗(yàn):動(dòng)態(tài)規(guī)劃與貪心

    算法設(shè)計(jì)與分析實(shí)驗(yàn):動(dòng)態(tài)規(guī)劃與貪心

    目錄 一、零錢(qián)兌換 1.1 思路一:動(dòng)態(tài)規(guī)劃 1.2?思路二:貪心 二、安排工作以達(dá)到最大效益 2.1 具體思路 2.2 思路呈現(xiàn) 2.3 代碼實(shí)現(xiàn) 2.4 復(fù)雜度分析 2.5 運(yùn)行結(jié)果 三、雇傭k名工人的最低成本 3.1 具體思路 3.2 思路展示 3.3 代碼實(shí)現(xiàn) 3.4 復(fù)雜度分析 3.5 運(yùn)行結(jié)果 結(jié)尾語(yǔ) “生活有意思的

    2024年02月19日
    瀏覽(27)
  • 租用游艇問(wèn)題 石子合并問(wèn)題 動(dòng)態(tài)規(guī)劃實(shí)驗(yàn)

    租用游艇問(wèn)題 石子合并問(wèn)題 動(dòng)態(tài)規(guī)劃實(shí)驗(yàn)

    實(shí)驗(yàn)名稱(chēng): ?????????????? 動(dòng)態(tài)規(guī)劃??????? ????????????????? 一、實(shí)驗(yàn)預(yù)習(xí) 1、實(shí)驗(yàn)?zāi)康?1. 理解并掌握動(dòng)態(tài)規(guī)劃方法的設(shè)計(jì)思想; 2. 提高應(yīng)用動(dòng)態(tài)規(guī)劃方法解決問(wèn)題和設(shè)計(jì)算法的能力; 3. 通過(guò)編程實(shí)現(xiàn)租用游艇問(wèn)題和石子合并問(wèn)題,進(jìn)一步理解動(dòng)態(tài)規(guī)劃方

    2024年02月07日
    瀏覽(21)
  • 【Python算法】實(shí)驗(yàn)12-動(dòng)態(tài)規(guī)劃與背包問(wèn)題

    目錄 實(shí)驗(yàn)內(nèi)容 1.數(shù)塔dp -A 2.骨牌鋪方格 3.一只小蜜蜂

    2024年02月15日
    瀏覽(19)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包