第一次集訓——2010年2月26日

    這次上午主要是熟悉環境,順便講解了週四的選拔賽的題目的方法,發現好多是BRUTE FORCE,但自己沒有寫出來!

    其次就是看到了老隊員,像楊騫,雖然要備戰考研,還是來了,這感情~

    原來上週糾結的一道Radar的題目要用Dancing Links去解決俗稱DLX,努力去攻克這個算法。

    下午的任務竟然是重做週四的題目……雖然有點不情願,但增加編程的熟練度嘛,還是做啦!

    很糾結的是拿到Devil May Cry,弄了半天,發現數據有問題。。。。其次組隊那道題目卻用搜索,並查集可以優化,但不是主流,很好,能把8個題目在下午的時間裏AC掉,也算是一個小小的進步,否創有些題目可能就過去了,成爲遺憾了!

 

A題是一個拓撲排序,沒有人被監視的可以攻擊,相當於入讀爲0的點可以去掉;

B題是一個字符串匹配,儘量選擇靠前的匹配,只要維護兩個指針就可以了;

C題是比較好的題目,有3N個人(N<=4),給出希望與不願的關係,問是否存在組隊成功(滿足所有人的要求)的方案

      太容易想到並查集了,人數多餘3人可以判斷,但對於“不願”的情況就難以判斷了;

      鑑於數據量不大,可以用BRUTE FORCE,效率是O(N^(3N)),由於題目數據比較弱,“意願”比較少,如果多了,樸素的方法估計就不行了!

 

D題屬於變種的BFS:地塊會週期性地出現、消失,求出從左下角到右上角的最少時間;

         題目中的描述比較長,所以要訓練頑強的讀題能力;剛開始沒有讀懂題目,但是根據題目中的數據推測了行走的方式,結果證明是對的(雖然歷經波折~~~)。

         這道題目的思想還是很好的:

         1)建圖:根據週期性,最多有T張圖,所以預先處理出這T張圖,如果時間超出了T,那麼只要對T取模即可;

         2)判重:由於同一幅圖中走過的點不可能再走,所以走過就可以把該點取消掉;

 

E題判斷前綴後綴,有常量字符串處理會簡單,但要注意處理完前綴後,要及時清除;

週四過了的,今天竟然沒過~~發現是一個BOOL變量初值錯了;

 

F題當時想着用隨機,後來也是BRUTE FORCE

大意:有N(<=6)個獵人和M(<=8)個財產,不同財產對不同人的價值不一樣,求出把這M個財產分完後獵人中得到的價值的極差。

由於1個物品只能由1個歸屬人,而一個獵人有可能有多個物品,所以在DFS時以物品爲階段。

 

G題是簡單的高精度乘方;

H題是錯排

 

 

總體感覺不是太難,沒有太難的算法,只要練習熟練度和CODING ABILITY

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章