2023年1月21日訓練日記

2022-06-06 04:54:10 字數 1108 閱讀 6550

今天看的題不多,也都沒能做出來。。。

其中有乙個問題是這樣的:2080 最長上公升子串行:

乙個數列的最長上公升子列,是指其所有遞增的子列中最長的乙個子列

給定乙個長度為 n 的數列 an,求這個數列的最長上公升子列的長度

例如對數列 1 7 2 8 3 4,這個數列的最長遞增子數列是 1 2 3 4,長度為 4;次長的長度為 3, 包括 1 7 8、1 2 3 等。

對於解這道題時,一開始的思路就出現了錯誤。。。

定義了兩個迴圈,如果後面的數出現比前面大的,就累加計數,與此同時,計數過程甚至也出了一些問題,例如以上數列1 7 2 8 3 4,累加時初值應為1,因為序列比較後需要加前面的乙個值,因此應從一開始計數而並非零,但是出現的問題是每次進行迴圈時如果出現第二個數,第三個數都比第乙個數大,第三個數又比第二個數小時,會出現計數錯誤,又試著多加幾次迴圈但是仍然解決不了這個問題,寫到這裡突然想到是否可以在陣列中附加條件使得前一項必須小於後一項時再進行累加,一會去試試。。。

其實上面這個問題其他人選擇的做法都是使用了數字dp;對於這個問題也恐怕要先學習一下才更能方便做。

還有乙個題是這樣的:

2103 四捨六入五留雙 :

輸入乙個實數f,和乙個位數d

輸出實數f,在保留d位小數下的結果,採用四捨六入五留雙的近似。

f至多有30位小數。

0 <= f <= 1

1 <= d <= 8

所謂四捨六入五留雙,是指如果恰好是0.5的情況,會把他近似到使得前一位是偶數。

比如近似到整數,0.4為0,0.5為0,0.50001為1,0.6為1,1.5為2,2.5為2。

好像挺經典的乙個經濟類運算問題,很多取餘的方式好像就用的這種。

如果能有像%那樣的能對實型取餘的符號這個題就會變得簡單,我覺得這個題難就難在對小數字的取餘問題,如何將小數放大到整數,再去判定後面的小數部分與0.5的大小關係,這個好像是演算法問題,或許是我天生愚鈍,想了很久就是去不掉。或許我想的太複雜了,我想的f並沒有侷限性,不只是在0~1,我直接想在實型範圍內怎麼去簡化,怎麼去取餘。。。

對於做不出的題也很失望。。。

或許是有的知識點還沒有學到,也或許是該看看書了。。。

明天去看看字串,數字,簡單演算法題的知識點,能看多少看多少。。。

2023年1月21日訓練日記

今天比較慘,只ac了兩道題。一道是昨天留下的二分查詢,感覺有必要整理一下或是有時間再琢磨琢磨,倒不是題多難,昨天已經想明白了,只是提速的方法很是神奇,我一直是超時,去看看最優解,首先那個題沒有必要一次性輸出答案,可以以乙個乙個分別輸出,系統是給ac的,更神奇的是他定了三個全域性變數,我記得老師在課上...

2023年一月21日訓練日記

今天做了2102或減與,剛開始沒看懂題意上網查了一下是 參加運算的兩個資料,按二進位制位進行 與 運算。運算規則 0 0 0 0 1 0 1 0 0 1 1 1 即 兩位同時為 1 結果才為 1 否則為0。參加運算的兩個物件,按二進位制位進行 或 運算。運算規則 0 0 0 0 1 1 1 0 1 ...

2023年1月14日訓練日記

今天主要是打了比賽,然後嘗試補cf的一道e題,一直t,明天繼續補。比賽沒怎麼認真打。額,隨便做做 a題中國剩餘定理,b題暴力,c題無向圖定向使強連通 我部落格裡幾乎寫過原題,見圖論 牛客網25e d題bfs預處理o 1 回答,之前做過很多類似的 比賽的時候時間不夠,沒做出來 e題簡單dp 二維三維皆...