原创 BZOJ 3678 wangxz與OJ 縮點Splay

題目大意 維護一個序列,支持 1. 插入一段序列,這個序列以1遞增 2. 刪除連續的一段序列 3. 查詢位置p的數是多少。 思路 簡單Splay維護就可以。但是後來好像被卡了,還有rope什麼亂搞的都被卡了。於是觀察這個插入

原创 BZOJ 1898 ZJOI 2004 Swamp 沼澤鱷魚 矩陣乘法

題目大意 給出一張無向圖,這個圖中有一些魚,他們不同的時間會出現在固定的位置,呈週期性循環,一個人要在這個圖上走,他不能和魚同時在一個點上。問從s到t走k步有多少種方案。 思路 注意到魚的循環只可能是2/3/4,也就是說最多經過1

原创 BZOJ 3888 Usaco 2015 Jan Stampede 模擬

題目大意 給出一些奶牛,一個人在原點觀察,牛和牛之間又互相遮擋的關係,給出每頭牛的運行方式和位置,問這個人最終會看到多少頭牛。 思路 知道了運行方式,我們就知道這頭牛在什麼時間段會遮擋住人的視線,然後從高到低弄個東西維護一下覆蓋什

原创 BZOJ 1027 JSOI 2007 合金 計算幾何+最小環

題目大意 給出一些由三種金屬組成的原料,用這些原料去組成用戶需要的一定比例的金屬。問要達成用戶的需求,最少需要多少種原料。 思路 這是隱藏的很好的一道計算幾何題。因爲x+y+z=1  ,所以z  一維是沒有用的,我們只需要x  和

原创 BZOJ 3613 HEOI 2014 南園滿地堆輕絮 二分+貪心

題目大意 給出一個數字序列,要求將這個數字序列變成單調不降的序列。若原來的數字是A[i],變化之後的數字是B[i],那麼花費是|A[i]−B[i]| 。求出一種方案,使得最大的花費最小。 思路 一眼就能看出是二分,然後貪心什麼的

原创 BZOJ 3550 ONTAK2010 Vacation 線性規劃轉費用流

題目大意 給出一個長度爲3×N  的序列,規定N  個數字中不能選擇超過k  個,問最多能取出的數的權值和是多少。 思路 非常神的建圖,本來想樸素費用流不過去學zkw費用流,結果樸素費用流跑的飛起。 利用一些輔助變量我們可以列出一些式子

原创 BZOJ 3910 火車 LCA+並查集

題目大意 給出一棵樹,起點,和要經過的點的序列,已經經過的點就不用去了,剩下的點按照順序依次去,問要經過多少條邊。 思路 鏈剖大概應該是可以,不過沒試,用了聽大爺說的一種神奇的方法。 因爲樹上經過的點肯定是一段一段的,就想到用並查集將一

原创 BZOJ 3943 Usaco2015 Feb SuperBull Prim

題目大意 異或Prim。 思路 沒開long long WA了一次你敢信? CODE #define _CRT_SECURE_NO_WARNINGS #include <cstdio> #include <cstring> #inclu

原创 BZOJ 2251 2010Beijing WC 外星聯絡 後綴數組/Trie樹

題目大意 給出一個字符串,問這個字符串中出現過1次以上的子串的個數,按照子串的字典序輸出。 思路 由於數據範圍過小,這個題有兩個解法。 基本的想法就是用後綴數組來進行後綴的排序,之後按照height數組掃就可以了。應該是挺快的。 但是

原创 POJ 3974 Palindrome Manacher

題目大意 給出一個字符串,求出這個字符串的最長迴文子串。 思路 前來學習著名的Manacher算法。 這是一個線性時間求出迴文子串的算法。具體來說,對於我們弄出的一個迴文串,它對於後面的串並不是,沒有用的,因爲它的左右兩側是相同的,那麼

原创 BZOJ 2440 中山市選 2011 完全平方數 莫比烏斯函數+二分

題目大意 給出一個數k,求第k個不是完全平方數個數的數字(這裏的完全平方數並不包括1)。 思路 首先介紹一下莫比烏斯函數(Möbius): μ(x)=⎧ ⎩ ⎨ ⎪ ⎪ ⎪ ⎪  1(−1) k 0 x=1能分解成k個不同的質因數的乘積

原创 BZOJ 3932 CQOI 2015 任務查詢系統 可持久化線段樹

題目大意 給出一些任務開始的時間,結束的時間,和優先級。問在第k秒時的第k大優先級,和前k小優先級的和。 思路 CQOI太良心,所有題都是512M。 這個題只需要按照時間軸弄一個可持久化線段樹就行了,每個時間點對應着一個權值線段樹,維護

原创 BZOJ 3931 CQOI 2015 網絡吞吐量 最短路+最大流

題目大意 給出一個無向圖,求出在這個圖上1到n的所有最短路形成的圖的最大流。 思路 想讓大家疊模板也不帶這麼懶得吧。。 記得開long long就行了。 CODE #define _CRT_SECURE_NO_WARNINGS #in

原创 BZOJ 1532 POI 2005 Kos-Dicing 最大流+二分

題目大意 給出一些比賽,每場比賽有一個人會勝出,問勝出最多次的人最少勝出多少次。 思路 首先二分答案,轉化成判定問題。觀察題目,注意到每場比賽只有一個人勝出,那麼這可以成爲網絡流建圖流量限制的依據。 具體: S->每個人 f:二分的最

原创 BZOJ 1602 Usaco2008 Oct 牧場行走 倍增LCA

題目大意 給出一個樹,多次詢問兩點之間的距離。 思路 這個題存在的意義是什麼? CODE #define _CRT_SECURE_NO_WARNINGS #include <cstdio> #include <cstring> #inc