杭電ACM1003

杭電ACM1003

其實(shí)就是簡單的子串序列和為最大值的問題,這里采用動態(tài)規(guī)劃法解決這個問題,代碼如下:

#include <iostream>

using namespace std;

int main()
{
    int T, N, sum, max, a, i, j, l, z, r;
    cin >> T;
    for(i = 0; i < T; i++)
    {
        cin >> N;
        for(l = z = r = sum = 0, max = -1001, j = 0; j < N; j++)
        {
            cin >> a;
            sum += a;
            if(max < sum)
            {
                l = z;
                r = j;
                max = sum;
            }
            if(sum < 0)
            {
                z = j + 1;
                sum = 0;
            }
        }
        cout << "Case " << i + 1 << ":" << endl;
        cout <<max << " " << l + 1 << " " << r + 1 << endl;
        if(i < T - 1)
            cout << endl;
    }
    return 0;
}

唯一可能有疑問的是為什么max的初始值要設(shè)為-1001,這是因?yàn)轭}目要求是N的取值范圍是-1000 ~ 1000,所以在這里取max最大值為-1001。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,697評論 19 139
  • php.ini設(shè)置,上傳大文件: post_max_size = 128Mupload_max_filesize ...
    bycall閱讀 7,034評論 3 64
  • 敏感的“像個女生”,一點(diǎn)點(diǎn)風(fēng)吹草動就能讓你思緒萬千;一些些誤會就能讓你假裝變的灑脫;一小小巧合就能讓你懷疑世界; ...
    SHY_BOY121閱讀 540評論 0 1
  • 剛談戀愛那會,我們異地。我起的比你早,每次都是我吃完早餐,給你發(fā)條短信:記得吃早飯哦。那時候,你吃你的早餐,我吃我...
    鮑濱閱讀 403評論 0 1
  • 1 最近「 時間管理 」特別火,相關(guān)的書和課程賣得不錯,這方面的文章也是滿天飛,可見人們是多么缺時間。 我第一次系...
    圖丁Glax閱讀 768評論 0 2

友情鏈接更多精彩內(nèi)容