今天開啟了新的篇章,開始做暑假訓練二了,這個專題都是二分法和單調佇列和樹狀陣列,今天做了兩道二分,感覺還行,可能是因為我挑了兩道比較簡單的題目做了吧,二分法也算是複習了,二分法主要是三個值狀態的變化,最大high,最小low,中間mid的不停變化達成搜尋的目的,並且時間比列舉快,要注意的一點是要套用二分法,資料判斷資料必須是單調遞增的,才能符合二分法的使用規則。
while(high-low>1e-8)
以上就是二分法的基本使用方法。
今天下午的訓練賽,做的基本都是以前做過的題,雖然看的時候只知道這道題我做過,卻沒辦法第一時間想起是怎麼做的,不過有一些印象做起來快多了,今天在訓練賽的時間內a了4道,結束後又a了一道,感覺還行。第一題判斷出生那天是星期幾,題目感覺有一點小坑的地方就是給的是2023年一月一日是星期一,1800到1900的計算需要倒過來數。第二題就是書上的原題,倒著dp就行了,第三題深搜,第四題感覺是第一次做,分解質因子,把最大質因子的那個數輸出,第五題也是深搜,感覺比較巧妙的地方就是用陣列來存這個數枚舉過沒,下標代表數,開個大陣列hh
總的來說今天還行,訓練賽不是很難,二分以前學過,開始幾道題相對輕鬆,明天繼續加油把。
ACM集訓日記 8月16日
const int maxn 10000 5 最大元素個數 int n 元素個數 int c maxn c i a i a i 1 a i lowbit i 1 返回i的二進位制最右邊1的值 int lowbit int i 返回a 1 a i 的和 int sum int i return res...
ACM訓練日記 8月8日
經過今天的訓練,還真有點累,主要因為是下午的訓練賽,前兩道題特別的簡單,可到了第三題就直接麼懵了,最鬱悶的是賽後看題解還完全看不懂,是線性dp的問題,看了好幾篇部落格,還是半懂,甚至開始懷疑自己動態規劃怎麼學的,明天還是先了解下線性dp的事再看這道題吧。另外利用上午和晚上的時間,勉強a了三道題。第一...
ACM訓練日記 8月4日
今天雖然只a了三個題,但感覺也算是扎扎實實的三道題,分別是數獨,塗顏色,分兩組。數獨這道題很明顯是深搜,9 9的方格填滿數,使得橫排,豎排,和9個3 3的小方塊只有1到9不重複的九個數,該題的關鍵就是做好數字使用過的標記,要做三個vis i j 然後就只需要吧空著的方塊填入判斷填數字,遞迴到填滿為止...