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

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

[Educational Codeforces Round 17 D (762D)] Maximum path

2019-11-14 10:16:48
字體:
來源:轉載
供稿:網友

題意

給定一個3?n的數字矩陣,要求從(1,1)走到(3,n)使得路徑上數字和最大,每個位置只能走一次。

題解

找規律,一條路徑不會往回翻多于一格。因為如果多于一格,所有的路徑情況都能由不多于一格的路徑方案代替。

>>v v>v<<v ==> v^vv>> >^>

那么每一列有5種狀態

status 0 1 2 3 40 > > ->1 > < <2 > -> >

如果某一列狀態為0,1或2,代表從這一列有著一些路徑從第0,1或2行接出。 如果某一列狀態為3,代表著出現一次回翻且回翻是從這一列的第0行進入,下一列的第2行接出,走遍這兩列的每個數字。 狀態為4的類似狀態3。 然后O(n)dp

代碼

/// by ztx/// blog.csdn.net/hzoi_ztx#define Rep(i,l,r) for(i=(l);i<=(r);i++)#define rep(i,l,r) for(i=(l);i< (r);i++)#define Rev(i,r,l) for(i=(r);i>=(l);i--)#define rev(i,r,l) for(i=(r);i> (l);i--)#define Each(i,v) for(i=v.begin();i!=v.end();i++)#define r(x) read(x)typedef long long ll ;typedef double lf ;int CH , NEG ;template <typename TP>inline void read(TP& ret) { ret = NEG = 0 ; while (CH=getchar() , CH<'!') ; if (CH == '-') NEG = true , CH = getchar() ; while (ret = ret*10+CH-'0' , CH=getchar() , CH>'!') ; if (NEG) ret = -ret ;}#define maxn 100010LL#define infi 1000000000000000LLll a[3][maxn];ll f[5][maxn];inline void MA(ll&x,const ll&y) { if (x < y) x = y; }/*status 0 1 2 3 40 > > ->1 > < <2 > -> >*/int main() { int n, i, j; ll now; r(n); Rep (i,1,n) r(a[0][i]); Rep (i,1,n) r(a[1][i]); Rep (i,1,n) r(a[2][i]); rep (i,0,5) Rep (j,0,n) f[i][j] = -infi; f[0][0] = 0; Rep (i,1,n) { MA(f[0][i],f[0][i-1]+a[0][i]); MA(f[1][i],f[1][i-1]+a[1][i]); MA(f[2][i],f[2][i-1]+a[2][i]); now = a[0][i]+a[1][i]; MA(f[0][i],f[1][i-1]+now); MA(f[1][i],f[0][i-1]+now); now += a[2][i]; MA(f[0][i],f[2][i-1]+now); MA(f[2][i],f[0][i-1]+now); MA(f[0][i],f[4][i-1]+now); MA(f[2][i],f[3][i-1]+now); MA(f[3][i],f[0][i-1]+now); MA(f[4][i],f[2][i-1]+now); now = a[1][i]+a[2][i]; MA(f[1][i],f[2][i-1]+now); MA(f[2][i],f[1][i-1]+now); }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 濮阳市| 东光县| 琼结县| 台北县| 滦平县| 体育| 周口市| 牙克石市| 汤阴县| 霍邱县| 芦山县| 芮城县| 湘潭县| 大渡口区| 怀远县| 拉萨市| 吕梁市| 鞍山市| 乌拉特中旗| 驻马店市| 监利县| 昭觉县| 阜南县| 景洪市| 新沂市| 凤翔县| 右玉县| 青州市| 称多县| 昌黎县| 安图县| 塔河县| 云南省| 交口县| 沙洋县| 大田县| 云龙县| 皮山县| 江西省| 天全县| 德令哈市|