日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

10.27T2 线性DP+拆分

發布時間:2025/5/22 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 10.27T2 线性DP+拆分 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2.樹塔

(tower)

【問題描述】

相信大家都在長訓班學過樹塔問題,題目很簡單求最大化一個三角形數塔從上往下走的路徑和。走的規則是:(i,j)號點只能走向(i+1,j)或者(i+1,j+1)。如下圖是一個數塔,映射到該數塔上行走的規則為:從左上角的點開始,向下走或向右下走直到最底層結束。
? ?1
??3 8
??2 5 0
??1 4 3 8
??1 4 2 5 0
?? 路徑最大和是1+8+5+4+4 = 22,1+8+5+3+5 = 22或者1+8+0+8+5 = 22。
?? 小S覺得這個問題so easy。于是他提高了點難度,他每次ban掉一個點(即規定哪個點不能經過),然后詢問你不走該點的最大路徑和。
??當然他上一個詢問被ban掉的點過一個詢問會恢復(即每次他在原圖的基礎上ban掉一個點,而不是永久化的修改)。

【輸入】

第一行包括兩個正整數N,M,分別表示數塔的高和詢問次數。
??以下N行,第i行包括用空格隔開的i-1個數,描述一個高為N的數塔。
??而后M行,每行包括兩個數X,Y,表示第X行第Y列的數塔上的點被小S ban掉,無法通行。
??由于讀入數據較大,c或c++請使用較為快速的讀入方式。

【輸出】

M行每行包括一個非負整數,表示在原圖的基礎上ban掉一個點后的最大路徑和,如果被ban掉后不存在任意一條路徑,則輸出-1。

【輸入輸出樣例】

tower.in

tower.out

5 3

1

3 8

2 5 0

1 4 3 8

1 4 2 5 0

2 2

5 4

1 1

17

22

-1

【樣例解釋】

第一次是
1
3 X
2 5 0
1 4 3 8
1 4 2 5 0
1+3+5+4+4 = 17 或者 1+3+5+3+5=17
第二次:
1
3 8
2 5 0
1 4 3 8
1 4 2 X 0
1+8+5+4+4 = 22
第三次:你們都懂的!無法通行,-1!

【數據規模和約定】

所有測試數據范圍和特點如下:

對于所有數據,數塔中的數X的大小滿足0≤X≤106

?

測試點編號

N

M

特殊約定

1

≤ 5

≤ 3

?

2

?

3

≤ 105

?

4

?

5

≤ 50

≤ 103

滿足點(i,j)上的數=i*j

6

?

7

?

8

?

9

≤ 300

≤ 104

數塔中所有數相等

10

?

11

?

12

?

13

≤ 1000

≤ 3*105

滿足點(i,j)上的數=i-j

14

滿足點(i,j)上的數=i*j

15

數塔中所有數相等

16

?

17

?

18

5*105

滿足點(i,j)上的數=i-j

19

?

20

?

?

?

?

?

?

這題我SB了,本應想到前后綴DP是可行的,但是我一直卡在去掉數字的影響導致65pt

考慮求出每一個位置從上到下的最大值和從小到大的最大值,枚舉去掉的那一行的前后綴和的最大值就可以了

暴力其實可以拿80但是我分段分的不好

code:

1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 long long a[1005][1005],suf[1005][1005],pre[1005][1005]; 5 long long read(){ 6 long long x=0,f=1;char c=getchar(); 7 while(!isdigit(c)){if(c=='-')f=-1;c=getchar();} 8 while(isdigit(c)){x=(x<<3)+(x<<1)+c-'0';c=getchar();} 9 return x*f; 10 } 11 int main() { 12 long long n,m; 13 n=read(),m=read(); 14 for(long long i=1; i<=n; i++) 15 for(long long j=1; j<=i; j++) 16 a[i][j]=read(),suf[i][j]=max(suf[i-1][j],suf[i-1][j-1])+a[i][j]; 17 for(long long i=n; i>=1; i--) 18 for(long long j=1; j<=i; j++) 19 pre[i][j]=max(pre[i+1][j],pre[i+1][j+1])+a[i][j]; 20 for(long long i=1; i<=m; i++) { 21 long long x=read(),y=read(),max0=0; 22 if(x==1&&y==1) {cout<<-1<<'\n';continue;} 23 for(long long j=1; j<=x; j++) { 24 if(j==y)continue; 25 max0=max(max0,pre[x][j]+suf[x][j]-a[x][j]); 26 } 27 cout<<max0<<'\n'; 28 } 29 return 0; 30 }

over

轉載于:https://www.cnblogs.com/saionjisekai/p/9860926.html

總結

以上是生活随笔為你收集整理的10.27T2 线性DP+拆分的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩黄| 精品久久久久国产 | 久久久久亚洲视频 | 日韩成人免费av | 成年人在线免费观看网站 | 丰满少妇在线观看bd | 日本少妇影院 | 色婷婷av一区二区三区大白胸 | 国产日韩欧美激情 | 亚洲最大在线视频 | 四虎免费看黄 | 免费的黄色av | 亚洲永久免费网站 | 欧美性猛交乱大交xxxx | 欧美一区二区在线观看视频 | 久久99综合 | 亚洲国产综合av | 国产精品日日摸夜夜爽 | 一级特黄视频 | 偷偷操av | 一区二区视频在线看 | 日韩精品一区二区三区色欲av | 欧美成人黑人猛交 | 日韩熟女精品一区二区三区 | 天天爱夜夜爽 | 午夜性色福利视频 | 亚洲色p | 天天夜夜草 | 91蜜桃传媒精品久久久一区二区 | 日韩精品色呦呦 | 国产人久久人人人人爽 | 天堂网成人 | 日韩中文三级 | 曰本丰满熟妇xxxx性 | 久久综合九色综合欧美狠狠 | 三级免费 | 中文精品一区二区三区 | 国产区在线观看视频 | 日韩欧美自拍 | 青青草青娱乐 | 4444亚洲人成无码网在线观看 | 国产新婚疯狂做爰视频 | 三级91| 日日操夜夜干 | 国产精品自拍视频 | 国产农村老头老太视频 | 亚洲三级精品 | 国产av天堂无码一区二区三区 | 天天干天天拍 | 国产成人精品一区二区三区在线 | 日本在线高清 | 亚洲精品久久久久久无码色欲四季 | 日韩有码中文字幕在线观看 | 久久一本精品 | 韩国伦理片在线观看 | 久久亚洲网 | 久久国产福利一区 | 青青青视频在线 | jlzzjlzz国产精品久久 | 蜜芽在线视频 | 欧美一级黄色片子 | 日本男女啪啪 | 国产毛片不卡 | 国产网站在线免费观看 | 在线中文av| 光棍福利视频 | 日韩欧美亚洲综合 | 国产精品久久777777 | 黄色成人在线网站 | 国产精品男女视频 | 日本黄网在线观看 | 亚洲AV永久无码国产精品国产 | 国产99久久九九精品无码 | 无码人妻丰满熟妇奶水区码 | 国语对白少妇spa私密按摩 | 国产一区二区在线视频观看 | 天堂久久网 | 最新视频–x99av | 欧美亚洲国产视频 | wwwxxx欧美| v8888av | 亚洲 欧美 日韩系列 | 91日批| 性做久久久久久久久 | 2021毛片| 聚色屋| 佐山爱av在线 | 99国产精品99 | 免费观看一级一片 | 欧美精品一 | 黄色特级毛片 | 日本国产在线 | 日韩三级麻豆 | 国内一级视频 | 最新av网站在线观看 | 日韩视频免费观看 | 久久精品电影网 | 色久阁 | 中文字幕一区视频 |