原创 CodeForces - 1218D Xor Spanning Tree(仙人掌圖找環 + FWT)

大致題意 給你一個包含最多42個環的仙人掌圖,讓你找最小異或和生成樹,並且輸出方案數。 做法 由於只有42個環,所以我們可以暴力找出每一個環。 由於是要找生成樹,所以肯定是每個環中選擇一條邊去掉,然後把這些邊的權值異或起來即可

原创 CodeForces 1217E Sum Queries?(線段樹)

    打比賽的時候,最後兩分鐘發現是INF設小了,改了之後沒來得及交上去比賽就結束了。。。 大致題意:有n個數字,m個操作。操作分爲兩種,1是修改某個數字,2是詢問某個區間內是否存在一個集合,使得集合內數字的和存在至少一位,在所有的

原创 CodeForces - 235E Number Challenge(莫比烏斯反演 + 數論分塊)

CodeForces - 235E Number Challenge大致題意做法代碼 大致題意 計算如下式子 做法 如果只是兩個數字乘積的約數個數,那麼有公式: σ(ij)=∑a∣i∑b∣j[(a,b)=1] \sigma(i

原创 計蒜客 2019ICPC 南京網絡賽 E K Sum(莫比烏斯反演 + 杜教篩)

    大致題意:自己看吧…… 直接上莫比烏斯反演。                                   令,顯然g是一個積性函數,我們考慮用杜教篩求它的前綴和。                          

原创 Comet OJ - Contest #11 F arewell(FWT + 狀態壓縮)

大致題意 做法 考慮到n的大小隻有20,所以應該和狀態壓縮或者說集合按位表示有關。 因此,我們考慮用FSF_SFS​表示考慮的點的狀態爲SSS的情況下,所有可能的DAGDAGDAG的方案數。 考慮每一個狀態的轉移,容斥一下可以

原创 CodeForces - 1261F Xor-Set(動態開點線段樹 + dfs)

大致題意 給你AAA、BBB兩個集合,兩個集合裏面的數字是由很多個區間構成的。現在讓你求 ∑i∈A,j∈Bi⊕j\sum_{i \in A,j \in B}i\oplus ji∈A,j∈B∑​i⊕j 其中同樣的異或結果只計算一次

原创 生涯總結——退役貼

光陰似箭,歲月如梭。 (老套的開頭……) 轉眼間從那個報名參加OI單純只是爲了打遊戲的懵懂少年,到現在已經拿到ecfinal和ccpc金獎和碩博連讀資格的我,轉眼也快要有十年了。這十年間,雖說前期很長一段時間都是在浪費生命,但是最

原创 CodeForces - 1073G Yet Another LCP Problem(後綴數組 + 單調棧 / 分治)

大致題意 給你一個字符串SSS,然後有qqq個詢問。對於第iii個詢問,給出兩個數字kik_iki​和lil_ili​序列a1,a2,...,akia_1,a_2,...,a_{k_i}a1​,a2​,...,aki​​和b1

原创 CodeForces - 1254D Tree Queries(樹鏈剖分 + 樹狀數組 + 組合計數)

題意 兩種操作。 第一種操作(v,d)(v,d)(v,d),首先隨機選擇一個點rrr,然後把所有滿足路徑<u,r><u,r><u,r>經過vvv的uuu點都加上權值d。 第二種操作詢問點xxx期望權值。 做法 顯然要考慮每個詢問

原创 Comet OJ - Contest #14(set區間操作 + 樹狀數組)

Comet OJ - Contest #14 做法 這題是一個很騷的做法。 因爲每次是把整個區間覆蓋爲某個數字,所以可以看作是把一段區間內的很多段數字合併成一個的過程。 我們考慮用setsetset去維護這個過程,setsets

原创 CodeForces 1238E Keyboard Purchase(狀態壓縮dp)

    大致題意:給你一個由最多m種字符構成的長度爲L的字符串。定義兩個相鄰字符的代價之差是兩個字符對應位置的絕對值,現在讓你找到這m種字符的一種排列方式,使得總的代價之和最小,問最小代價是多少。 很神奇的一種狀壓姿勢。 我們考慮最好

原创 CodeForces - 1260F Colored Tree(樹鏈剖分 + 組合計數 + 樹狀數組)

題意 給你一棵n個節點的樹,每個節點都有一個顏色。這棵樹的權值定義爲,任意兩個相同顏色的點之間的路徑長度之和。但是,這棵樹的每個點的顏色是不確定的,你只知道節點iii的顏色屬於某一個區間[li,ri][l_i,r_i][li​

原创 CodeForces - 1264D2 Beautiful Bracket Sequence(生成函數 + 組合計數)

大致題意 給你一個由左右括號和?組成的字符串,現在?可以替換成左右括號的任意一個。定義一個字符串的深度爲最大的左右括號嵌套數。現在問,所有的替換方案產生的字符串的深度總和是多少。 做法 如果有nnn括號,那麼就會有2n2^n2

原创 2019HDU多校賽 第九場 HDU 6682 Rikka with Mista(折半搜索 + 組合計數 + 排序)

    大致題意:給你最多40個數字,你可以任意的取數字,問所有的取法下,所有取的數字的和中4的個數的和是多少。 40個數字,其實就是折半搜索,但是好像有一個聽起來好像挺厲害的名字meet in middle。具體來說,數字分爲兩半,

原创 HDU 6706 2019CCPC網絡賽 1005 huntian oy(杜教篩)

    大致題意:告訴你n、a和b,讓你求                           中間那個gcd(i^a-j^a,i^b-j^b)這個看起來很嚇人,其實你打表會發現其實它等於i-j,那麼就變成了求