原创 [BZOJ2084]Antisymmetry(二分+hash)

=== === 這裏放傳送門 === === 題解 首先用【看數據範圍猜複雜度大法】可以看出它的時間複雜度大概是O(nlogn) 的。。。。 然後它要統計的是符合條件的子串個數。一般統計子串的話都是枚舉一個什麼東西然後算它的貢獻

原创 [BZOJ2597][Wc2007]剪刀石頭布(費用流)

=== === 這裏放傳送門 === === 題解 這道題如果考慮直接計算合法的三元組數目好像有點不大科學。。因爲只有三場都比完了才能發現這是一個合法組。那麼如果考慮不合法情況呢?合法情況肯定是一個有向的三元環,那麼不合法情況就是

原创 [BZOJ4319][cerc2008]Suffix reconstruction(貪心)

=== === 這裏放傳送門 === === 題解 這題發題解的時候糾結了半天掛什麼tag。。後綴數組?這哪裏用後綴數組了。。暴力?感覺好敷衍。。最後還是決定掛上貪心的tag好了。。。 ATP一開始看這個題是一臉懵逼的。。(內心:

原创 ATP的SDOI2017R2被翻記

Day0 APIO的時候提前脫離組織溜回家睡+玩了兩天。。感覺兩天一眨眼就過去了,然後就該要R2了。。。 一點底都沒有啊,CTSC和APIO掛那麼慘,這次R2就算有一輪的成績墊着也不一定能續命啊。。。。 雖然已經無數次清晰的告

原创 [BZOJ1059][ZJOI2007]矩陣遊戲(二分圖匹配)

=== === 這裏放傳送門 === === 題解 一開始感覺沒什麼思路然後上來就開始手玩。。玩了一會兒以後發現它每次交換都會導致行和列相互影響這真是太噁心了。。但是也發現黑點之間行和列的相對關係是不會變的,這個意思是說如果這一行

原创 [BZOJ4455][Zjoi2016]小星星(容斥原理+樹形DP)

=== === 這裏放傳送門 === === 題解 首先它給定的東西形成了一棵樹,那麼可以考慮用樹形DP求方案數目。然而這個題數據規模這麼小大概不是狀壓就是容斥?一開始ATP搞了一個非常sb的亂七八糟三維狀壓DP來做這個東西結果N

原创 [BZOJ3771]Triple(FFT+生成函數)

=== === 這裏放傳送門 === === 題解 這個題要求所有組合的方案數,並且還要求具體組合出來的方案,可以想到利用生成函數。因爲生成函數乘出來以後它的指數上就記錄了所有方案,那麼首先構造出只有一個東西的生成函數,也就是說如

原创 [BZOJ4402]Claris的劍(組合數學)

=== === 這裏放傳送門 === === 題解 這題比較關鍵的一點就是注意到題目裏說兩把劍本質不同當且僅當存在一種數字的出現次數不同。也就是說這個東西跟數字的出現順序是無關的。那麼我們可以考慮確定一種排序方式讓每一種本質不同的

原创 ATP的PKUSC2017遊玩記

Day0 早晨從濟南直接上高鐵去北京! 感覺pkusc的話因爲是比較擅長的ACM賽制和比較簡單的難度,所以即使沒怎麼複習也不是很虛。。 兩個小時就到北京了!到了以後先是坐地鐵,結果因爲人太多,一班車來了,ShallWe,abc

原创 ATP的CTSC2017現形記

Day0 早晨4點鐘就起來。。。5點到學校門口。。走之前還跟麻麻和粑粑因爲穿不穿厚衣服的問題糾結了半天= =粑粑認爲不用穿麻麻認爲用穿然後他們兩個就出現了無法調和的矛盾【笑哭】然後ATP只能保持中立。。。。。 路上閒着沒事看羣的時

原创 ATP的SDOI2017R1續命記

Day0 上午Loli竟然不給放假。。說什麼你們剛放假回來就不用休息了吧啥啥啥的。。差評+1 那就只好待在機房複習了。。把自己的review.txt裏面記錄的最後一點沒有複習的東西寫完了,然後敲了一大波板子,然後開始划水。 好

原创 SDOI2017Round1解題報告!

Day1 T1 product 題目要求的式子是∏i=1n∏j=1mf(gcd(i,j)) 其中f(i) 表示fibonacci數列的第i 項。 首先按照反演一貫的畫柿子套路: ∏i=1n∏j=1m∏d=1n[(i,j)=d

原创 [BZOJ3622]已經沒有什麼好害怕的了(容斥原理+DP)

=== === 這裏放傳送門 === === 題解 首先可以算出如果要滿足要求的話要求糖果比藥片大多少組,就是(n+k)/2。如果n+k不能整除2的話就判斷無解。設K=(n+k)2 。 直接求不是很好求,因爲如果直接求的話要固定

原创 [HDU2481]Toy(置換+矩陣乘法)

=== === 這裏放傳送門 === === 題解 一眼看到這個題的時候想到了BZOJ1002輪狀病毒。。。實際上做這個題的時候也用到了那個題的結論。 結論:設f(n) 爲不同的(不考慮旋轉同構)的n輪狀病毒的個數,則f(n)=

原创 [BZOJ2844]albus就是要第一個出場(線性基)

=== === 這裏放傳送門 === === 題解 把給出的數字看成二進制,它們都可以看作是向量。然後要求的就是所有向量的線性組合中Q這個向量的出現位置。 首先把給出的所有東西搞一個線性基出來,因爲這些基向量的不同組合就能組合出不