每天做的題的題解都扔上來,以後好複習
10.22
jzoj5919:
找出所有環,拿出左右端點,set維護r[i]表示以i作爲左端點時右端點最右是多少,二分統計答案
jzoj5920:
先求出兩個數組start,end.start[i]表示以i爲開頭的LIS,end[i]表示以i爲結尾的LIS.一個結論:如果一個數存在於多個LIS中,那麼它的排名是一樣的,如果start[i] + end[i] == K + 1(K 爲最長LIS長度),那麼這個a[i]在LIS中.之後討論一下,有主席樹和離線樹狀數組兩種方法,我比較蠢,寫了主席樹(不會離線 ).
10.23
jzoj5922:
結論:一個數列[l…r]及k,使a[i] += 等價於使[l…r]{初值均爲1}前綴和k次.
知道結論後就好做了,由於k的範圍很小,可以分成k個序列來差分,從大的往小的做,每次差分完注意減去影響.
jzoj5923:
關於圖的連通性的DP,一般分成三種情況.
連通情況+不連通情況==所有情況.
處理完就好做了
10.24
jzoj5924:
分塊之後直接雙端隊列維護就好了
STL:deque是雙端隊列
10.25
jzoj5925:
注意一個結論,就是一個點的顏色最多隻會改變兩次.
所以可以考慮DP,設f[i]表示[1…i]變爲同一種顏色的最小代價,預處理每個區間的Min和全部變爲Min的Cost即可.注意爲了保證有一個目標顏色,所以從後往前也做一遍.
是可以接受的
jzoj5926:
tmd比賽的時候竟然沒想到.
把邊權從小到大排序,然後對於一條邊,它的貢獻就是兩個連通塊之間符合條件的點對數,用啓發式合併和權值線段樹即可做到.
注意離散化.
10.26
jzoj5928:
打表找規律可以發現總和是這個式子
其中
換下形式,最後搞出來這個
這可以用快速冪計算,最後乘下逆元即可
jzoj5930:
顯然因爲質因子間影響是獨立的,所以考慮質因子分開來做.
先把所有拆成質因子形式,詢問也一樣.
現在考慮如何解決那個K的限制.
考慮子孫對祖先的影響,顯然一個節點只會對它K級父親以內有影響,於是對於一個節點,我們在它自己處打+標記,在K級父親處打-標記.(結合dfs序想想)
現在考慮如何統計答案.
顯然對於同一個質因子,的指數和的指數我們需要取個min.
顯然可以排序,從前往後做的時候用兩個樹狀數組維護一下.(注意是在dfs序上做)
一個表示指數較小的,記錄總和;一個表示指數較大的,記錄個數.
注意每次之後由於操作可逆性,我們將操作逆回去清空樹狀數組.
由於質因子不超過個,所以複雜度
(常數略大)
10.27
jzoj5931:
遞推,很好理解,直接扔式子
設表示時的
O(n)預處理
jzoj5932:
Bitset牛逼
對於每個點寬搜,設表示第i個點j步以內能到達的點,用bitset搞.
沒了
jzoj5933:
由於修改只在一邊,倒着建主席樹就沒了.
我咋就沒想過倒着建,cao.
10.29
jzoj5934:
網絡流模板題,對於每個限制連一條INF,橫縱座標分別向S,T連1,最小割即可.
jzoj5935:
送分題,區間DP,考場上切了就不多說了.
jzoj5936:
https://blog.csdn.net/P_hillipe/article/details/83550433
10.30
jzoj5937:
貪心,考場上切了就不多說了.
jzoj5938:
首先兩個塊的形狀肯定是階梯型的
考慮極值的性質,顯然兩個塊的極值的一端一定會包括最大和最小,所以二分出答案後,兩個塊的權值區間肯定在,當中.
可以分4種情況貪心解決
11.01
jzoj5941:由於的值域只有,所以直接預處理冪次即可,後續可以計算.
jzoj5942:由於操作值最多變小次,維護一下每個區間的序列或去判斷,每次暴力修改.對於操作可以拆開,發現維護平方和就好.
jzoj5943:有一個結論就是信標只會在葉子上,隨便選一個度數大於的點爲根,可以證明這個根一定不會放信標.隨後貪心的做,一個節點設有個兒子,則必須在其中至少個兒子的子樹中放信標.
11.02
jzoj5945:求均攤紙牌的方案數,求出每個點左邊需要多少紙牌,右邊需要多少紙牌,隨後根據平均值分類討論即可.
jzoj5946:
轉化題意後變爲找循環節,有個定理.
若是質數且,則.
然後這題就暴力枚舉就好了.
jzoj5947:注意到逆序對個數肯定不超過,所以每次操作暴力交換區間內的相鄰逆序對,每次交換是的,所以複雜度是
11.03
jzoj5948:每個長度爲的段的取最小值即是答案.
jzoj5396:轉化題意後變成,找出一個最長的子序列使得序列平均值大於給定的.
11.04
jzoj5949:答案:
jzoj5950:單調棧維護一個上凸殼即可,每次維護完後答案就是棧頂.
jzoj5951:不寫了,吼難.
11.05
jzoj5952:設爲從到的異或和,預處理一個表示的最左的.每次按位貪心,注意到若某一位爲1,那麼對答案貢獻僅爲1,若某一位爲0,對答案的貢獻就是0或2.用剛剛處理的數組維護計算即可.
jzoj5953:有定理,原點集重心肯定是對稱中心.那些原本就關於對稱中心的點先刪去,若剩下的點就肯定爲.注意到一條直線能包含所有個點,顯然要出現次,由於這樣的直線不超過條,所以暴力做就可以.
jzoj5954:太長了不寫了,去看Howarli的博客.原題[UOJ 351]新年的葉子.