牛客訓練賽25 A 最長區間

2022-05-19 03:55:43 字數 744 閱讀 8377

這題問最長的嚴格連續遞增序列的最長長度是多少?

最開始感覺這道題不可做,因為有1e5個點,還有1e5的運算元

可是後來發現。。。這題水的一匹a[i]和y都是在1-100的範圍內部

不如這樣,我用乙個d[i]陣列記錄連續遞增的長度大小,用cnt[i]陣列表示陣列裡面這個長度的連續遞增序列的個數,由於這個序列a[i]範圍很小,因此最長連續的長度一點小於等於100,

我們可以直接改變單點值,後面減去這單點後面影響到的貢獻,再重新算新的貢獻即可

#include#include

#include

#include

#include

using

namespace

std;

int a[100006

];int d[100006

];int cnt[105

];int

main()

else

cnt[d[i]]++;

}for (int i=100; i>=1; i--)

}intx,y;

d[1]=1

; cnt[

1]=0

;

for (int i=1; i<=m; i++)

else

cnt[d[j]]++;

}for (int j=100; j>=1; j--)}}

}return0;

}

牛客訓練賽25 A 因數個數

題目鏈結 無語。這題很迷啊,原諒我的菜,剛開始想用預處理尤拉篩和字首和,可是這題太血崩了,這樣一樣要遍歷,1 e9的範圍,後來翻網上題解,發現其實是個還算經典的問題 這題可以用離散和做嘛,如何離散和?先別著急,我們先想想,為啥這題不用尤拉函式做。我們平時尤拉函式的題,都還能算比較難的題了,這題不僅僅...

牛客訓練賽1

honoka和格點三角形 只有兩種三角形,底邊為2,高為1和底邊為1,高為2 1,直角三角形 4 n 1 m 2 4 n 2 m 1 2,底邊在x軸,為2 2 m 2 m 2 n 1 2,底邊在y軸,為2 2 n 2 n 2 m 1 3,底邊在x軸,為1 2 m 1 m 2 n 2 4,底邊在y軸,...

牛客練習賽25 最長區間

其中表示left len right len可以用乙個len i 表示 len i 表示包括i的在i之前的最長遞增序列 用len陣列可以很方便得記錄到從x往左的left len等於多少 然後向由可以推出right len cnt i 計算每乙個長度i的序列有多少個 其中 乙個i的子長度的序列也會記錄...