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

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

POJ - 2479 Maximum sum解題報告

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

給你你一串數(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);


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 温泉县| 平昌县| 安龙县| 永吉县| 淮安市| 哈巴河县| 大冶市| 扎赉特旗| 富川| 巴彦县| 荥经县| 盐亭县| 广安市| 茶陵县| 平定县| 锦屏县| 永安市| 阜康市| 南乐县| 科技| 称多县| 鹿泉市| 宿迁市| 吉林市| 定结县| 顺义区| 勐海县| 临安市| 凤山县| 华池县| 读书| 托克逊县| 抚州市| 新沂市| 中宁县| 揭西县| 红河县| 丁青县| 广宗县| 桂阳县| 安多县|