原创 codeforces 1015F Bracket Substring

題目大意:給出一個序列s,求出長度爲2*n的序列中包含s的常規括號序列。常規括號序列就是指左右括號順序和數量相等。 如果沒有左右括號的限制,可以直接參考bzoj1009GT考試我的更新思路:https://blog.csdn.net/zz

原创 codeforces 718C Sasha and Array

線段樹維護矩陣信息。。一定要把初值都賦好。。。 因爲矩陣具有結合律,所以可以把子矩陣相加作爲上一層的矩陣,對於更新的加值x,先在線段樹外將轉移矩陣自乘x次, 再添加到線段樹裏。主要是碼的準確。。 #include<cstdio> #in

原创 bzoj 2982: combination(lucas定理模板)

lucas定理板子 對於可以轉化爲這是一個遞歸的過程,時間爲log。 #include<cstdio> #include<cmath> #include<algorithm> #include<cstring> using namesp

原创 NOIP十連測 塗色遊戲

這是一道玄學組合數和神仙思路。。。 題目大意:給出一個n*m的網格,每個格子裏只能塗一種顏色,一共有p中顏色,要求任意相鄰兩列都出現了 至少q種顏色的方案數。 n≤100,m≤,q≤p≤100。 看這m的範圍,很容易想到矩陣乘法,所以可以

原创 codeforces 1065D Three Pieces

題目大意:給出一個n*n的圖,每個點有一個值,構成一個1-n*n的序列,要求按照1-n*n的順序走完全圖,每走一步消耗1時間, 有三種走法,按照國際象棋裏的象,車,馬。更換一次走法消耗1時間,求走到終點的最小時間,和最小時間下消耗最小轉換

原创 bzoj 1477 青蛙的約會(exgcd模板)

exgcd裸題。 兩個人之間有一個距離,兩人有一個速度差,設這個距離爲c,速度差爲a。而需要的次數就是x 那麼題意就是,這樣就是exgcd的標準形式啦。 至於距離和速度差一定要記得是追及問題,如果距離爲a-b,那麼速度就是b的減a的,如果

原创 codeforces 451E Devu and Flowers

1題目大意:給出n個盒子,每個盒子裏有val[i]個球,想要拿出s個球,從每個盒子裏拿出相同的球算同種方案,求方案數。 首先對於式子的非負整數解個數爲,考慮隔板法,將s個東西分成n份,允許有空 相當於在s-1個空中放n-1個隔板,有空的盒

原创 bzoj 2721: [Violet 5]櫻花

根據題意推式子。。 ,然後通分,,之後打開合併,, 之後移項 設 所以 那麼 因爲x爲整數,而一定爲整數,所以要求後面的爲整數,也就是有多少n的階乘的平方的約數,就有多少解。 所以可以對1~n分解質因數,根據約數和公式,就是n的質因數的

原创 雅禮集訓 Day2 T1 施工

首先有一個比較好想的結論(誰說的。。。一點都不好想!)就是最優的情況一定是有兩端高於中間的一段平地。 因爲一段本來有高度差的一起增高等於沒用,所以我們可以把最終高度相等的作爲一段,無論這段有多少個。 而這樣做的條件是兩邊比中間高。 這

原创 bzoj 3573: [Hnoi2014]米特運輸

題目好難懂。。 簡述題意:給出一棵樹,要求滿足兩個要求: 1.每個節點的子節點權值相等。 2.每個節點的權值和是這個節點的權值。 然後就出最小修改點的數量來滿足這個要求。 那麼顯而易見只要確定一個節點就可以確定羣圖節點權值。這樣枚舉是的。

原创 codeforces 1027F Session in BSU

首先我們把日期看成點,每個考試都連接了兩個點,而合法的情況就是每條邊都至少有一個點和他配對,和二分圖匹配很像。。 但是時間明顯不夠,那麼我們可以轉換思路,通過連邊,原圖變爲了一些連通塊,而對於每個連通塊,就有以下幾種情況 1.這個連通塊是

原创 雅禮集訓 Day1 T1 養花

  這道題的暴力很好寫。。 正解也很暴力。。。(PS:吐槽數據。。說好的≤100000卻出現了100001) 正解分塊。 主要思路是處理出每個塊對於每個模數的最大餘數。乍一看好想只能(那我優化什麼???) 其實可以。。因爲可以處理出塊內

原创 codeforces 1029E Tree with Small Distances

這道貪心感覺比較好想吧。。但是有坑點。。 我們發現一個點如果不合法,把他的父節點連到跟比把他自己連到跟要合適一些,所以爲了不少不漏情況, 直接dfs遍歷整棵樹,遇到一個樹的子節點不合法就把這個點連到跟,這個時候坑點出現了,因爲它是個樹,

原创 雅禮集訓 Day2 T3 聯盟

   

原创 codeforces 990D Graph And Its Complement

首先我們知道一件事,就是如果這個圖上的點>1時,一定有一種連通圖是隻有1個連通塊的,而它的補圖可以有≤n個連通塊。 而且當n==2&&n==3的時候,不能出現兩個圖都是隻有1個連通塊的情況。 因爲如果這個圖不只有一個連通塊,那麼它的補圖就