国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

POJ - 2479 Maximum sum解題報告

2019-11-10 16:58:04
字體:
來源:轉載
供稿:網友
題目大意:

給你你一串數(50,000)個,讓你從這一大串數中找出連續的兩串數,使得其和最大。

思路:首先,三十組測試數據,每組規模50,000,時間復雜度肯定不能是O(n^2)了

設:以第i個數為結尾的串可能的最大的連續子串為a[i];后j個數中能選出的最大的連續子串為b[j];

對于a數組的遞推關系(b數組同理):

遞推關系:a[i]=max(v[i],a[i-1]+v[i]);邊界條件:a[1]=v[1]; 

實現過程:1.首先一次dp存到a數組,然后給v數組倒置,再一次dp存到b數組。

2.現在就是要找到a[i]+b[j](i+j<=n)的最大值了,但是暴力O(n^2)又超時了,所以還是空間換時間。aa[i]表示a[1]-a[i]之間的最大值,bb[i]表示b[1]-b[i]之間的最大值,然后找到max{aa[i]+bb[n-i]}(1<=i<=n)即為結果;三個操作都是O(n);


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 堆龙德庆县| 临清市| 山东省| 南平市| 潜江市| 饶河县| 乐东| 通城县| 九龙城区| 伊春市| 勃利县| 安阳市| 田阳县| 东源县| 庆城县| 谢通门县| 美姑县| 湖北省| 廊坊市| 弥渡县| 顺昌县| 九寨沟县| 平潭县| 秀山| 绥芬河市| 大荔县| 桦南县| 通许县| 东台市| 老河口市| 秦安县| 东光县| 手游| 宝应县| 磐石市| 托克托县| 伊通| 武川县| 仁怀市| 苍山县| 库尔勒市|