原创 hdu5579 2015區域賽上海賽區G.Game of Arrays

題意:給你三個數組A,B,C,三個數組長度相等,當中有一些位置可以進行(-1)操作,定義A+B=C爲對於三個數組中的每個數都有a[i]+b[i]=c[i],先手想讓A+B=C成立,後手不想讓等式成立,如果當中某一時刻等式成立則先手勝,否則

原创 2015 北京區域賽 K 二叉樹亂搞(數位dp 誤)

題意: f(2n) = f(n)*3  f(2n+1) = f(n)*3+1  mod k以後,統計異或和 n 10^18 10^18數據量,一般都要轉化成二進制搞 據說還有數位dp的做法,並不會 #include <cstdio> #

原创 HDU 6049 Sdjpx Is Happy 區間dp+發現性質

難得寫篇題解之二 還是問了BUAA的dalao纔算明白複雜度 #include <cstdio> #include <cstring> #include <cstdlib> #include <algorithm> #include <q

原创 HDU 5967 小R與手機 CDQ分治+回滾並查集

快退役了還寫博客,我真是棒棒呢 >_< 這道題網上通用的解法是LCT,雖然LCT的確可以做,不過我還是一直惦記這宦壕從合肥回來以後嚷嚷着這題我是用可持久化並查集+CDQ分治過的 (當然了,他肯定是在吹牛,

原创 Codeforces #280 Div.2 E.Vanya and Field 數學,數論

第一道完全沒看題解直接出的E題……紀念一下記下來吧…… 題意:n*n的矩陣,邊際循環,每次可以從當前位置(x,y)走到((x+dx)%n,(y+dy)%n),保證gcd(n,dx)=1,gcd(n,dy)=1; 在矩陣中有些地方有果樹,問

原创 2014 鞍山區域賽 C HDU5072 Coprime 莫比烏斯/容斥+同色三角形

題意:n個數中,求三個數兩兩互質或者兩兩不互質的三元組的數量; 思路:單色三角形模型,也就是說完全圖中,每兩點間的邊可以是黑色,可以是紅色,求純色三角形的數量; 直接求會非常困難,所以我們轉化爲對偶問題——求不純色三角形的數量; 來關注某

原创 2016 多校4 1002 After a Sleepless Night 樹上貪心

題意:給你一棵新樹,樹的每個節點都有一個權值,告訴你其實這棵樹是由另一棵原樹轉化過來的進行的操作是,把原樹每個點的權值變成了該點爲根的子樹中權值的最大值,原樹的所有的點的權值按標號排下來是一個1-n的排列

原创 2014 北京區域賽 F Fluorescent HDU5117 (數學+狀壓+dp)

題意:有N個燈和M個開關,每個開關控制着一些燈,如果按下某個開關,就會讓對應的燈切換狀態;問在每個開關按下與否的一共2^m情況下,每種狀態下亮燈的個數的立方的和。 思路:1、首先注意到N<=50,M<=50,因此很容易想到狀壓; 2、

原创 2014 鞍山區域賽 J HDU5079 Square DP套DP

題意: 給你一個n⋅n(n≤8)的棋盤,上面有一些格子必須是黑色,其它可以染黑或者染白,對於一個棋盤,定義它的優美度爲它上面最大的連續白色子正方形的邊長,對於每個0≤i≤n,問有多少種染色方案使得棋盤的優美度爲i? 說起dp套dp,個人

原创 Codeforces 424 div1 C. Bamboo Partition 830C 分塊優化

題意:不說了,自己看吧,很好懂的 (難得寫一篇題解) 這題還是很有意思的 首先可以推一個公式 sigma( ceil(a[i]/d) )*d <= x+sigma(a[i]) 這裏要求d的max,然而這個d並不是單調的 考慮遍歷所有的d

原创 2015ACM/ICPC亞洲區瀋陽站 HDU 5517 Triple (二維線段樹)

題意 :略 首先我們先假設出a1,b1和a2,b2分別爲(1,2),和(2,2)。那麼我們發現,其實(1,2)對於答案是根本沒有貢獻的。 所以對於b相同的,取a最大的即可。 首先我們定義一個矩陣Map[N][N],Map[c'][d']代

原创 codeforces gym 2016-2017 NEERC, Moscow Subregional K. Knights of the Old Republic 最小生成樹+dp

注:本文思路部分引自鳥神的題解#include <cstdio> #include <cstring> #include <cstdlib> #include <algorithm> #include <

原创 Codeforces #257 div2 E DZY Loves Colors 線段樹優化

題意:線段樹的題,兩個操作(原始每個節點值都是i,每個節點的cnt都是0) 1.把一段都塗成x,每個點的cnt加上abs(  原來的值-更改後的值 ) 2.查詢一段cnt的和 不錯的線段樹,有地方需要優化 lazy 、 sum 雙重延時標

原创 2016 多校3 1009 Palindrome Bo 迴文串dp+優化

題意 給一個串,要求找出有多少個從裏到外遞增(不嚴格)的迴文串序列(即可以分開的),最大長度是多少 做法:很容易想到維護一個n3的區間dp dp[l][r]  更新是枚舉c(c<=a[l])  dp[ n

原创 2016 暑假多校訓練 第三場 1007 Explorer Bo HDU 5758

#pragma comment(linker,"/STACK:1024000000,1024000000") #include <cstdio> #include <cstring> #include <vector> #include