1. 程式人生 > >11月6日學習記錄

11月6日學習記錄

1.關於深搜,廣搜中的一些玄學操作:(文化之旅)(圖論中)
    當你在搜尋時,遇到一些點之間存在矛盾條件時,怎樣判斷下一個節點:
    可能會想每次詢問決策時將每一個節點都訪問並比對。但可以利用特殊操作來適應圖論:
    如果兩個點之間存在矛盾:
           (很具有這類的代表性)
           方案一:消除建邊,在讀入時直接取消建邊
           方案二:bfs中剪枝對矛盾值進行特判,如之後的點有矛盾,就不會壓入佇列,
                       Tip:你可能會考慮是否少走或未訪問某些狀態。實則不然,執行時從某一個點擴充套件,
                               僅僅排除掉了與當前節點違背的所有節點(預處理不好操作)。而可以壓入具有矛盾的子節點,
                               但這些子節點與父節點沒有矛盾

2.關於字串:(詞鏈) 對於字串你可以直接對它們進行排序,並不用手寫任何判斷函式。sort(a+1,a+n+1)即對字串a[1]到a[n]進行字典序排序 3.關於數論:(syzoj比賽:複習了一些組合數學) 卡特蘭數等待複習。關於組合數的遞推公式:1.O(n)的遞推帶有除法,無法滿足取模運算。2.O(n*n)的遞推,楊輝三角的遞推 沒有除法,你可以進行取模運算。但是缺點時處理資料範圍不夠大。 !!!!Tip關於取模運算:1.計算取模的減法:一定要%時先在括號+mod防止有負數:(a-b+mod)%mod
2.取模運算的括號:取模與乘除法同級:往往快速冪中可能會用到:x=(x%mod*x%mod)%mod 這樣並不對:本意是運算x的模相乘。這樣就成了x的模乘x再模。正確應該為:x=((x%mod)*(x%mod))%mod 3.關於考試注意事項: 1.模擬考試中受到別人影響注意力不夠集中,導致失誤很大。學會從調節自己做起十分重要 2.第二次模擬賽的第三題模擬打掛了,考前應該再思考一下錯誤點,積累經驗。