3027 線段覆蓋 2

2021-06-27 16:53:55 字數 569 閱讀 5055

剛開始我寫這道題目,我的狀態轉移方程式是:dp[i][i]=dp[i][k]+dp[k+1][j];

後來才發現  測試資料太大,會導致超時。

接著我又重新梳理了解題的思想, 直接遍歷一邊可以多選的選項,然後接著用乙個max值儲存最大的價值,題目便ac了

先貼出我錯誤的**

#include using namespace std;

void swap(int a,int b)

}int main()

else if(a[j][0]==a[j-1][0]&&a[j][1]>a[j-1][1])}}

/* for(int i=1;i<=n;i++)

for(int k=i;ka[k+1][0])

else

}else}}

}for(int i=1;i<=n;i++)

}int main()

else if(a[j][1]==a[j-1][1]&&a[j][0] > a[j-1][0]);}}

for(int i=2;i<=n;i++)

{k=0;

for(int j=1;j

3027 線段覆蓋 2

題目描述 description 數軸上有n條線段,線段的兩端都是整數座標,座標範圍在0 1000000,每條線段有乙個價值,請從n條線段中挑出若干條線段,使得這些線段兩兩不覆蓋 端點可以重合 且線段價值之和最大。n 1000 輸入描述 input description 第一行乙個整數n,表示有多...

wikioi 3027 線段覆蓋 2

數軸上有n條線段,線段的兩端都是整數座標,座標範圍在0 1000000,每條線段有乙個價值,請從n條線段中挑出若干條線段,使得這些線段兩兩不覆蓋 端點可以重合 且線段價值之和最大。n 1000 第一行乙個整數n,表示有多少條線段。接下來n行每行三個整數,ai bi ci,分別代表第i條線段的左端點a...

codevs DP 3027線段覆蓋2

題目描述 description 數軸上有n條線段,線段的兩端都是整數座標,座標範圍在0 1000000,每條線段有乙個價值,請從n條線段中挑出若干條線段,使得這些線段兩兩不覆蓋 端點可以重合 且線段價值之和最大。n 1000 輸入描述 input description 第一行乙個整數n,表示有多...