經過今天的訓練,還真有點累,主要因為是下午的訓練賽,前兩道題特別的簡單,可到了第三題就直接麼懵了,最鬱悶的是賽後看題解還完全看不懂,是線性dp的問題,看了好幾篇部落格,還是半懂,甚至開始懷疑自己動態規劃怎麼學的,明天還是先了解下線性dp的事再看這道題吧。
另外利用上午和晚上的時間,勉強a了三道題。
第一道事糖果玉公尺孩子,要求分別求出沿左右牆壁走出迷宮的步數和走出迷宮最小步數。這道題就需要現在紙上走一走,發現分別沿兩邊牆壁走,有順時針與逆時針的轉向區別,一旦撞牆要沿原來的時針方向反向退乙個繼續走。至於求最小步數,廣搜套路就行。
第二道題,讓給兩個數n,m,m可以被拆成個位後任意相鄰的組合,比如23423,可以分為2,342,3,就這樣是拆開的數想加接近n,這道題是深搜,兩個搜尋方向,設該位是第i位,這一位可以保留進行組合,也可以馬上截止之前的形成乙個數。當然還有個坑,就是對於可以按多種方式組合出答案的情況要輸出reject,這其實就是在出現ans是的k++,但最後判斷時是判斷k/2是否大於1。
第三道題就是簡單的最小生成樹了,就是prim演算法,套上就對了。
ACM訓練日記 8月4日
今天雖然只a了三個題,但感覺也算是扎扎實實的三道題,分別是數獨,塗顏色,分兩組。數獨這道題很明顯是深搜,9 9的方格填滿數,使得橫排,豎排,和9個3 3的小方塊只有1到9不重複的九個數,該題的關鍵就是做好數字使用過的標記,要做三個vis i j 然後就只需要吧空著的方塊填入判斷填數字,遞迴到填滿為止...
ACM訓練日記 8月17日
今天除了上午繼續看樹狀陣列課件以外,下午進行了第一次團體訓練,雖然成績不怎麼理想,從中也找到自己許多的不足。做第一道題時其實就有些困難,雖然我們是第乙個做出來的,給了幾頭牛的重量與強壯度,要求把這些牛摞起來,每頭牛的風險是該頭牛上面的牛的重量相加減該牛的強壯度,求怎麼摞起來使最大風險最低,這道題很明...
ACM訓練日記 8月18日
今天一直都在看樹狀陣列的部落格,感覺從別人寫的題解中還是讓我這個初次接觸樹狀陣列的小白有些收穫。樹狀陣列在應用中大致有兩種方法,一是向陣列內填入實數,用來方便計算總和,二是填1或0,1代表滿足條件的元素並對後面的影響,就拿逆序數這道題來說,樹狀陣列中記錄每乙個數比該數小的數的個數,假如填了3這個數,...