原创 [BZOJ3571][HNOI2014]畫框

我反正是絕對做不出來。 我們把每個決策的∑x 和∑y 看做點(x,y) ,那麼最優解只有可能是下凸殼的點,而且在x 最小的點A和y 最小的點B之間的下凸殼。我們先求出A、B,觀察得在線段AB下方離線段AB最遠的點C一定在下凸殼上

原创 BZOJ1500維修數列Splay

不得不說這題目真的猥瑣,寫一個小時調一晚上加一上午,還被卡常了。 這裏不放題解,主要來總結一下Splay區間修改比較猥瑣的地方。 一 、查找第k大的時候一定要記得push_down; 二、有改值標記的題目push_dow

原创 [BZOJ2756][SCOI2012]奇怪的遊戲

如果我們知道了要變成的數d ,怎麼檢驗這個答案可不可行。 將整張棋盤黑白染色,黑點連向四邊的白點,容量爲無窮大,源點連向黑點,容量爲d−v[i] ,白點連向匯點,容量爲d−v[i] ,最後檢查是否滿流。 那麼當m∗n 爲偶數時

原创 [BZOJ2324][ZJOI2011]營救皮卡丘

思考如何滿足要摧毀點N,必須摧毀前N-1個點。 我們設dis[i][j]爲從i到j且不經過大於max(i,j)的點的最短路。 原題轉化成了求K條路徑覆蓋,使得這些路徑的權值和最小。 考慮網絡流裏面的二分圖模型最小路徑覆蓋裏面

原创 GDKOI2016考試總結

這兩次考試我都沒考好,兩次考試不管是算法方面還是考試策略方面都有許多值得總結的地方。 第一天的第一題是一個和位運算與區間有關的問題,我們可以考慮按每一位分治,只要按照每一位分治(用線段樹什麼的維護),然後考慮貢獻即可。 第二題

原创 2-27、28考試總結

總而言之,這兩次考試都出了一個同樣的問題,就是第一題腦補出來的算法都不正確,而打完之後才拍出錯的,然後浪費了好多的時間,然後心態就不對了,開始或多或少的棄療。 比較能總結的題和見得比較多的題就是關於平面上的點的一些問題,可以考慮

原创 同餘式運算的總結

最近在做數論的題目,發現這個東西我沒有搞太清楚,現在來總結一發,供大家參考。 1.反身性:a≡a(mod m) ; 2.對稱性:a≡b(mod m)⇒b≡a(mod m) ; 3.傳遞性:a≡b(mod m),b≡c(mod

原创 3-19,3-20考試總結

Day1 第一題跟道路堵塞差不多,其實暴力就可以過,還是寫出來了的。 然後沒有什麼時間了,半個小時吧,只有打暴力了。 第二題其實就是一個狀壓dp,也不是很難的。 第三題實在是沒辦法做啊,考場上只能寫平衡樹! Day2

原创 [Usaco2015 FEB Gold][2016-2-21]考試總結

第一題裸四方暴力,一直在想怎麼用數據結構優化,期間想到了主席樹套二維線段樹,然而會爆空間,但是隻要從上到下從左到右便可以只要主席樹了,然後動態開點就是O(n2logn) 的空間,還是對主席樹不熟練啊,我畢竟是以前只寫過一次的蒟蒻。

原创 [BZOJ3672][NOI2014]購票 樹分治斜率優化

廢話不多說,直接上方程。 dp[i]=min(dp[j]+(dis[i]−dis[j])×p[i]+q[i]) 考慮x 是y 的兒子,且x 比y 優: dp[x]−dis[x]∗p[i]<dp[y]−dis[y]∗p[i]

原创 [BZOJ3572][HNOI2014]世界樹

這一題調試了蠻久,而且我一寫虛樹常數就大,是rank1的17倍。 顯然是一道虛樹題。建出虛樹後,先兩遍DFS處理出每個虛樹上的點的歸屬,然後考慮虛樹每一條邊的貢獻。 定義size 爲原樹每個子樹大小 對於一條邊(u,v) ,

原创 [BZOJ2434][NOI2011]阿狸的打字機

發現一種新的思路,以前從來沒有見過的,即AC自動機的fail樹。 這一題我們先考慮暴力,從root往Y的最後一個點走,如果走到了X的末點,ans++,如果通過fail指針走到了X的末點,ans++。 反過來考慮,從X的末點開始

原创 [BZOJ1927][SDOI2010]星際競速 最小費用最大流

用流量限制次數,用費用限制距離。 這一題和最小路徑覆蓋很像,所有邊容量爲1,把每個點拆成u ,u′ ,原圖上u ,v 連成u ,v′ ,費用爲距離,每個u′ 連向匯點,費用0,源點連向每個u ,費用0,源點連向每個u′ ,費用爲

原创 [BZOJ2049]洞穴勘測[BZOJ2157]旅遊Link-Cut Tree模板題

第一次寫LCT,先來兩道模板題,因爲上個月被三道區間維護的超級工業的splay搞傻了,吸取了很多教訓(見前幾篇博客),所以LCT寫得很順啊,這裏要感謝hzwer的題解。 BZOJ 2049:給出一顆樹,每次加一條邊或者刪除一條邊

原创 [Codeforces 277E][Round #170 div.1 E]Binary Tree on Plane

題目大意:平面上給出K個點,每個點可以向縱座標比它小的點連邊,邊權爲歐幾里得距離,求一棵最小二叉生成樹。 每個點只有一條入邊,至多有兩條出邊,考慮使用最小費用最大流模型。 每個點拆成兩個點i,i’,對於原圖上的邊u,v,u向v