額。。noip考完了。。十分悲傷面試
仍是。。。繼續努力吧。。膜拜滿分大佬數組
已結束:20/50網站
2016.12.01spa
【1】bzoj03-A-Anniversary party 樹的最大獨立集。標準無腦樹形dp。排序
【2】bzoj03-C-Balancing Act 記錄每一個節點所承載的重量便可。ip
【3】bzoj04-B-Marriage Ceremonies (個人理解)帶權n皇后。每一個狀態中的1的個數對應的是行數。ci
【4】bzoj04-C-炮兵陣地 狀壓dp。由於破壞範圍是相鄰的兩行和兩列,第i行的狀態的可行性至於第i-1行和第i-2行有關。滾動dp寫起來比較繁瑣。這題數據小,能夠不滾動。rem
【5】bzoj04-A-Corn Fields 狀壓dp。跟【4】差很少,但比它簡單。只用考慮前一行的狀態就好了。io
2016.12.03循環
//noip2016告訴我:若是這題第一眼看上去是全排列,那麼它極可能是dp!noip2016血的教訓T_T
//lrj的集訓指南真的很是好!就是太難了,須要多多考慮一下QAQ
【6】UVa11464-Mobile phones 一道標準的反轉題。核心思路:每一個節點都與其上下左右四個節點有關,因此,設節點在第i行,只需構造出前i行節點的狀態,它的下節點就只能有惟一的可行解。故,直接01窮舉第一行的狀態,從第二行開始,每一個節點能夠看做是其上方節點的下節點,前面說了它只有惟一解。判斷是否可行及是否最優便可。複雜度爲O((2^n)*n*n)。
//UVa爲什麼這麼慢。。我幾年沒碰了怎麼仍是這樣慢QAQ
【7】UVa10881-Piotr's Ants 好題!(求別人的大腦構造,我實在想不出如此優雅的解法!!!)實現起來不難,關鍵是思路。首先,「兩隻螞蟻相遇後背道而行」的狀況,能夠轉化爲「兩隻螞蟻穿過彼此並繼續向本身的方向前進」。這樣轉化不會改變最後螞蟻的位置。因而,問題就轉化爲「怎麼求每一個位置對應的螞蟻」。自行腦補:全部螞蟻的相對位置不會發生改變(由於它只會夾在先後兩隻螞蟻間被彈來彈去)。這樣位置與螞蟻就一一對應了。
【8】bzoj04-D(poj2411)-Mondriaan's Dream 好題!已沉淪。狀壓dp。0表示未覆蓋,1表示已覆蓋。dp[i][p]表示第i行的覆蓋狀態。由於是用1*2的紙覆蓋,因此第i行最多隻與第i-1行有關,則dp[i][p]=sigma(dp[i-1][pre])。邊界:dp[0][(1<<m)-1]=1。ans爲dp[n][(1<<m)-1]。此題還需用滾動數組,每次都需注意清零。
//滾去寫做業了。。。晚上還要上sb物理課。。人生就不能沒有課外班嗎??真搞笑
2016.12.06
//在學校2333。。之後在家看書在學校上機
【9】bzoj05-B-Knapsack problem 01揹包。將w,v交換便可。
【10】bzoj05-E-Average distance 樹形dp。不要管兩點之間的路徑,只需求每條路徑被經過了幾回,邊累加邊模,不要等最後再模,否則會超long long
【11】bzoj05-M-Palindrome 可愛的區間dp+容斥。對於每個區間,咱們能夠隔離第一個和最後一個,但這中間重複累加了同時刪去第一個與最後一個的狀況,再加上便可。轉移方程爲dp[i][j]=dp[i+1][j]+dp[i][j-1]-dp[i+1][j-1]。
2016.12.10
//終於等到週末了,已經不許備管個人幾十頁課課練了,不能急了!!!
//居然有網上試聽課這種有毒的東西,垃圾!
//爲了準備省級英才的面試,寶寶立fla要今天把論文中涉及的幾道題再編一遍,加油!
//由於與某梨飆歌,錯亂了計劃,如今5點了都沒有動工,藥丸!
【12】poj3159-Candies 差分約束。第一次用spfa作居然tle了,緣由是用queue會超時,得改爲stack(然而並不會)。後來改成dijkstra就成功了。
2016.12.11
//好吧,真的拖延到今天了呢2333藥丸
【13】poj1364-King 差分約束。一開始居然浪到連bellman-ford是什麼都忘記了!!!個人娘。注意:前綴和的下標從0開始,到n結束,因此bellman-ford跑n+1遍!!
2016.12.15
//強!vjudge忽然登不上去了!!!。。。。
【14】bzoj2330-[SCOI2011]糖果 查分約束。bzoj好難,每次花很久才只能作一題2333。重編了這道寫進英才論文的題,它又給了我無限的啓示。首先,這題最後求的是糖果的最小值,因此轉化成圖時應該算最大值(而不是論文中的最小值,如果這樣的話,一是確定會死循環,二是全部人都會分得負數個糖果。。。可怕),因此不能死作題,不能由於求最短路的題多就把全部題想成求最短路。一開始我wa了幾回,後來發現是個傻缺的錯誤:不可行時沒有輸結果。。。改過以後我變成了tle。覺得是環未判出而陷入了死循環,改了很久沒有進展。突然靈光一現以爲應該是STL的耗時問題。因而將queue改成了用一個數組存儲,結果終於A掉了。很是開心
2016.12.17
//下午正好有空,原來是想作usaco月賽的,結果網站貌似訪客太多點不進去,因此只好隨便刷些vjudge的題了2333
【15】bzoj08-A-Sonya and Problem Wihtout a Legend 思惟dp。主要考思惟,實現起來不難。從單調遞增序列轉化爲單調不降低序列只須要將每一個數減去其數組序(a[i]-=i)。當問題轉化爲單調不降低序列時,咱們發現,最後獲得的全部數都確定是原數列中出現過的數。因而,就有了如下dp的作法:dp[i][j]表示序列中前i個數變成每一個數的值不超過b[j]的單調不降低序列所用的最小花費(b[i]爲a[i]離散化後從小到大排序後的數組)則dp[i][j]=min(dp[i][j-1],dp[i-1][j]+abs(a[i]-b[j]))。
//先做業去了,帶着祝福
2016.12.18
//把hrj課給曠了,準備作usaco月賽,但密碼忘了,因此花了很長時間在註冊
//由於是個新帳號,只能從銅組開始作了2333
【16】【17】【18】usaco銅組。真。普及-。洛谷上那不叫。
//開始作銀組2333
【19】【20】usaco銀組。t3沒看懂2333。sad