国产探花免费观看_亚洲丰满少妇自慰呻吟_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);


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南靖县| 安西县| 盐山县| 泉州市| 张家界市| 天等县| 安阳市| 阳泉市| 汨罗市| 交城县| 阳江市| 黎平县| 工布江达县| 陆川县| 资源县| 马尔康县| 武威市| 宜兰县| 汉川市| 肇州县| 瑞丽市| 磐安县| 昂仁县| 浮山县| 雷波县| 巴青县| 宝鸡市| 新化县| 张家界市| 阜新| 东兰县| 长宁县| 阳谷县| 佛山市| 洛南县| 揭西县| 双牌县| 连平县| 怀集县| 铜梁县| 乌恰县|