原创 BZOJ3627 [JLOI2014]路徑規劃

題意:求期望紅綠燈時間下,途徑若干加油站,經過最多若干個紅綠燈,起點與終點的最短路。 思路:每個有紅綠燈的節點通過時間怎麼算呢?事實上t=red*red/2/(red+green),然後把這個時間附加到節點的出邊上。 隨後我們建立分層圖

原创 BZOJ1452 [JSOI2009]Count Solution

題意:自行腦補 做法:直接開權值那麼多的二維樹狀數組暴力。 Code: #include <cstdio> #include <cctype> #include <iostream> #include <algorithm> using

原创 構造串卡掉自然溢出BY PoPoQQQ

S0=1 S1=10 S2=1001 S3=10010110 Si+1=Si+Si'  Hash(Si)-Hash(Si') =( Hash(Si-

原创 BZOJ2337 [HNOI2011]XOR和路徑

題意:有一個無向圖,邊帶權,從點1開始,每次隨機選擇與這個點相鄰的一條邊走到另一個點,直到走到點n.權值爲所有走過的邊的異或和(若一條邊經過多次則被異或多次),求權值的期望值。 思路:將每一位拆開。那麼相當於邊上的權值只有0,1. 由於

原创 BZOJ2648 SJY擺棋子

題意: 這天,SJY顯得無聊。在家自己玩。在一個棋盤上,有N個黑色棋子。他每次要麼放到棋盤上一個黑色棋子,要麼放上一個白色棋子,如果是白色棋子,他會找出距離這個白色棋子最近的黑色棋子。此處的距離是 曼哈頓距離 即(|x1-x2|+|y1-

原创 BZOJ3362 [Usaco2004 Feb]Navigation Nightmare 導航噩夢

題目大意:自行腦補。 思路:維護兩個維度上的帶權並查集即可。 注意對於題目給出的一堆關係,我們應該添加兩對關係。 Code: #include <cstdio> #include <cstring> #includ

原创 弱省胡策系列簡要題解

現在不是非常爽,感覺智商掉沒了,就整理一下最近弱省胡策的題目吧. 其實題目質量還是很高的. 如果實在看不懂官方題解,說不定這裏bb的能給您一些幫助呢? 【弱省胡策】Round #0 A 20%數據,O(n4) 傻逼dp. 40%數據

原创 混進省隊後的進化系統

總算是有驚無險的混進省隊啦,這代表着我不用滾回去上課辣! 但是像我這種傻叉肯定是不行噠,於是需要一個進化系統! (覺得像我這種人太弱,就大體上設定一個進化方向,不要限定時間啦…) Task1:動態樹分治 BZOJ3435: [Wc20

原创 BZOJ1827 [Usaco2010 Mar]gather 奶牛大集會

題意:給定一棵樹,求出樹上的一點,使得樹上的所有點到該點的距離之和最小。 思路:暴力顯然是O(N^2)等死對吧。 我們首先將無根樹轉化爲有根樹,然後一邊dfs求出f[i],size[i]. f[i]表示以i爲根的子樹中所有的點到i的距離

原创 POJ2417 Baby-Step-Gaint-Step 算法

考慮一個問題:A^x%p=B,給定A,B,p,求x的最小非負整數解。 在p是質數的情況下,這個問題比較簡單。 A^x=B(mod P) (P is a Prime, A,B<P) Let m = floor(sqrt(P)) Put A

原创 POJ3017 Cut The Sequence

題目大意:將一個非負整數序列切成連續的若干段,使得每一段的和均不超過一定值,在此基礎上最小化每一段的最大值的和。 思路:O(N2)的動態規劃方程非常明顯: fi=min0≤j<i{fj+maxj+1≤k≤i{wk}} 這樣利用RMQ的預

原创 再探第k短路

其實這是一個很古老的姿勢啦… 只不過今天跟同學討論A*算法求k短路的時候,同學不信A*算法能被卡掉. 於是我翻了翻課件找出了一種n 元環的特殊情況,卡掉了A*算法. A*算法是隻有到達終點的時候才能統計答案,這導致可能拓展很多個狀態

原创 BZOJ2245 [SDOI2011]工作安排

題意:自行腦補,看懂分段函數是什麼就行。 思路:顯然是最小費用最大流。 對於每個工作人員的每一段,從原點到工作人員對應的點連一條費用與流量與這一段其相適應的邊。 對於每個部件,從其對應的點到匯點連一條流量爲需要的數目,費用爲0的邊。 然

原创 BZOJ2006 [NOI2010]超級鋼琴

題目大意:給定一個序列,求出k個這個序列的位置不完全相同的子序列,使得每一個子序列的長度均在[l,r]內,並且使得這些子序列的權值和最大。 思路:每一個子序列的權值和可以轉化爲兩個前綴和之差。我們考慮以每一個位置爲結尾的子序列,它的權值

原创 BZOJ1927 [Sdoi2010]星際競速

題目大意:自己看中文。。。 思路:不難發現,題目等價於讓我們求出一些標號上升的子序列精確覆蓋全集,每一個子序列的起點一定是利用“能力爆發”   得到的。 那麼我們只需對於每個星球,確定一個前驅就可以了。 若是0作爲前驅,則轉移代價爲定位