13 14寒假作業7

2021-06-20 18:25:23 字數 847 閱讀 1586

poj 2479

也是一道dp的題,需要繞點彎子的最大字串和。

輸入一串數字,從其中任選兩個不相交的字串,要求他們的和最大,輸出這個最大值。

先進行一次普通的求最長字串,不同的是dp不僅僅更新當前的值,還要更新這個值的起點終點。於是就需要乙個結構體陣列來記錄(三個普通陣列也可以的)。這個過程輸入的時候就可以完成。

記錄下最大字串的值,和起點終點分別為m1      l1    r1。然後再進行一次遍歷,找到起點不同於l1的最大字串記為m2   l2   r2。因為m1是該起點中最大的那個,所以找到的m2一定與m1不相交。

最後再一步處理:如果最大的字串中有乙個很大的負數怎麼辦?於是我們從l1遍歷到r1,找出其中最大的那個負數,記m=m1-這個負數,這樣m就可以看作由m1去掉這個負數後形成的兩個字串的和。輸出m和m1+m2中較大的乙個就可以了。

#include

#include

int a[50010];

int max(int a,int b)

struct xx

b[50010];

int main()

}m1=a[0];  m1l=0;  m1r=0;

for(i=0;im1)

}m2=-100000;

for(i=0;im2&&b[i].l!=m1l)

}x=0;

for(i=m1l;i<=m1r;++i)

if(a[i]x=a[i];

m=m1-x;

if(n==2) printf("%d\n",a[0]+a[1]);

else printf("%d\n",max(m,m1+m2));

}return 0;

}

13 14寒假作業3

poj 1050 輸入乙個矩陣,求出這個矩陣中數字之和最大的小矩陣的和是多少。開始沒有注意到資料量比較小,還以為是什麼神演算法。後來看到100 100的資料,於是暴力做過掉。列舉小矩陣的寬度,對長度進行dp求最子字串就可以了。區間和用字首和來記錄,敲起來還有點討厭 include include i...

寒假 作業2

大話物聯網 讀書心得 物聯網是繼計算機 網際網路與移動通訊之後的世界資訊產業的第三次浪潮。但是對於我這種連計算機都還不太懂的菜鳥新手和科技無知者來說,物聯網 三個字真的是乙個新興詞彙。在之前我連 物聯網 三個字好像都不太聽到過,更加不可能了解。殊不知我已經和這個世界如此的脫軌,已經被時代遠遠地落在了...

寒假作業9

1.請寫出網頁的基本標籤 作用和語法。basic tags 基 本 標 籤 creates an html document 創 建 一 個html 文 檔sets off the title and other information that isn t displayed on the web...