9018 1060 最長的白色段

2022-08-05 01:15:12 字數 1100 閱讀 9887

時間限制: 1 sec  記憶體限制: 128 mb

提交: 340  解決: 93

[提交][狀態][討論版]

有一段從0到1000000000的數軸,它開始的顏色是白色。現在有人不斷把其中的一段染成黑色或白色,總共染了n段(1≤n≤5000)。你的任務是編寫乙個程式,找出最後最長的白色段。

第一行只有乙個數n,接下來的n行是每次染一段的資訊,格式為:ai,bi,ci。

ai,bi是整數,ci是符號』b』或』w』,三者用空格隔開,表示這次從ai染到bi,用的顏色為ci(』b』表示黑色,』w』表示白色),你可以認為0僅兩個數x,y(x4

1 999999997 b

40 300 w

300 634 w

43 47 b

47 634
題解:n久以前的題,離散化+二分即可。

**如下:

1 #include2 #include3 #include4

using

namespace

std;

5int n,a[10002

],ans,ansx,ansy;

6bool col[10002];7

struct linetseq[5001];8

void

init()

15 a[0]=0; a[2*n+1]=1000000000

;16 sort(a,a+2*n+2

);17}18

int bs(int l,int r,int

key)

25if(a[mid]>key) return bs(l,mid-1

,key);

26else

return bs(mid+1

,r,key);27}

28int

main()

2935

for(int i=0;i<2*n+1;i++)43}

44}45 printf("

%d %d\n

",ansx,ansy);

46return0;

47 }

最長遞增子段

實驗任務 yzf 有乙個序列 a,由 n 個整數組成。我們將子段 a 稱為 ai ai 1 ai 2 aj 1 i j n 表示 a 的字段。你的任務是找到 a 的最長的子段,這樣就可以從子段最多改變乙個數 可改變為任乙個整數 使子段嚴格地增加。輸出找到的最長子段的長度即可。資料輸入 輸入第一行為乙...

1713最長同號連續段

最長同號連續段 time limit 1 seconds memory limit 32768 k total submit 447 accepted 179 description 給出乙個由非0整數組成的序列a1,a2,an,設計遞迴演算法求其中由同號整數組成的最長連續段 稱為最長同號連續段 的...

最長子段問題求解

問題描述 乙個n個整數的陣列 a 0 a n 1 求這個陣列的子陣列的最大和。舉例 陣列 a 1,2,3,5,3,2 返回 8 解法一 窮舉法 窮舉出所有的子陣列,分別求和,最後選出最大值 n個元素的組合有n n 1 種,對每種組合求和需要c次,其中c為該組合元素數 因而該演算法複雜度為o n2 o...