第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

動(dòng)態(tài)規(guī)劃——最大子段和(hdu1003,1231)

標(biāo)簽:
算法

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1003

题目描述:寻找一个序列中和值最大的子段序列,例如6,-1,5,4,-7,其最大子段和为 14(6+-1+5+4)

解题思路:运用动态规划的方法,其状态转移方程为sum=sum<0?sum+a[i]:a[i](sum为累计和,如果和大于0,那么就加上当前a[i],如果不大于0,那么直接舍弃,从a[i]开始)

并将每次的sum结果与之前的max值进行比较。


#include<stdio.h>int dp[100000];int main(){    int j, t, n, i, sum, max, st, ed, y, x;    scanf("%d", &t);    for(j=1; j<=t; j++)    {        scanf("%d", &n);        for(i=0; i<n; i++)        {            scanf("%d", &dp[i]);        }        sum = max =dp[0];        st = ed = x = y =0;         for(i=1; i<n; i++)        {            if(sum > 0)              //sum值为正值,累加,记录当前结束点ed             {                sum+=dp[i];				ed=i;                             }            if(sum <= 0)              //sum值为负或0,之前的子段已经没必要了,dp[i]作为新起点             {                sum=dp[i];                st=i;                ed=i;            }            if(sum>max)               //刷新max、st、ed             {                max=sum;                x=st;                y=ed;            }        }        printf("Case %d:\n%d %d %d\n", j, max, x+1, y+1);        if(j!=t)            printf("\n");    }    return 0;}


1231和1003基本相同


题目链接:


點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消