鄙人在h8oj上玩了幾天,難題是一道也沒有做出來。。。。
大概的總結下,一共有14道:
1.神題A+B problem(代碼最短獎)
2.
[BeiJing2006]狼抓兔子
平面圖網絡流的最短路優化,開始沒有注意雙向邊,固執的WA了3次。
3.
[FJOI2007]輪狀病毒
f[i]=f[i-1]*2+g[i-1];g[i]=f[i-1]+g[i-1];
(f爲i這個點所在的聯通塊沒有和根相連,g反之)。
4.
[ZJOI2006]物流運輸
dp,一開始竟然想狀態壓縮去了,慚愧。。。
5.
[HNOI2008]Cards
直接運用XXXX引理,就可以把本文題轉化成爲往3個揹包中放物體,恰好全部放滿的方案數。
還有一個要說的就是DP的時候是可以優化成3維的,狀態爲F[I,X,Y]表示已經放了i個物品,其中第一個揹包放了x的容量,第二個揹包放了y的容量,而第三個揹包可以直接由這幾個狀態推過來。
6.
[HNOI2008]神奇的國度
紅果果的弦圖,先求出完美消除序列,然後在利用倒序的完美消除序列貪心即可。
7.
[HNOI2008]水平可見直線
赤裸裸的半平面交。。
8.
[HNOI2008]越獄
ans=m^n-m*(m-1)^(n-1).
9.
[HNOI2008]GT考試
wa了一次,原因是因爲轉移的時候理解錯了,無恥的讓我過樣例了。
10.
[HNOI2008]明明的煩惱
11.
[HNOI2008]玩具裝箱
比較經典的斜率優化DP,我個人在推導斜率式子的時候喜歡用半平面交,很無奈的有一次實除,不過很好思考。
12.
[Jsoi2011]括號序列
看到了翻轉,頭腦中的算法就只剩下splay了,具體操作如下:
考慮一個區間,貪心一般的消除成對的括號,必然最後剩下的是這樣的玩意:‘)))((((’所以我只要維護有多少個這樣的左括號和右括號就可以了。
這道題道題到底是卡pascal還是卡我猥瑣的單旋splay?在網上下了別人比我快很多的程序在本機跑速度沒很大的差別啊。。
速度墊底了,以後也會是。。
13.
[SDOI2011]打地鼠
一開始就想到了O(N^4)的算法,就是枚舉錘子的大小貪心的N^2的驗證,後來發現因爲每次肯定是捶掉錘子面積大小個地鼠,所以吧所有地鼠總數統計,必然爲面積大小的倍數,這樣最壞也只會有O(Log(s)^2)次驗證,然後就讓我過了。。。
N^2的驗證需要一點小技巧,類似與點事件的東西。
不知到是不是標準算法,不過速度還不錯,代碼量也很少。
14.
[ZJOI2007]最大半連通子圖
圖論太弱了,做了道關於tarjan的題目,縮點以後求最長鏈: