原创 CF600E Lomsat gelral(DSU on tree)

題面 先考慮O(n2)O(n^2)O(n2)暴力,DFSDFSDFS到每個點之後再暴力統計它的子樹答案即可 仔細觀察,我們發現一個點沒有好好利用它兒子的貢獻.可以發現,每個點最後遍歷到的一棵子樹貢獻可以被保留,這樣計算該節點答案的

原创 一句話題解

Uva7138(矩陣樹定理,高斯消元) 將第三種邊看做第一種加第二種,把第一種邊設爲xxx,那麼用矩陣樹定理求出的行列式是一個關於xxx的多項式,答案即爲x0x^0x0到xkx^kxk的係數和,插值或待定係數法即可 51nod 平均最

原创 迂迴(tour)

算點iii在第kkk個時刻到達恰好到達點jjj的方案數就是Ai,jkA^k_{i,j}Ai,jk​,AAA爲鄰接矩陣 所以我們需要算A1A^1A1到AkA^kAk 一個辦法是每個點再連出一個虛點,虛點連一個自環,引出路徑讓它在虛點裏繞

原创 洛谷 P3727 曼哈頓計劃E

題面 先求出每個節點的SG函數(打表) 根據SGSGSG函數的定義 SG(now)SG(now)SG(now)等於最小的SG(to)+1SG(to)+1SG(to)+1而且沒有另一個SG(to′)=SG(to)+1SG(to&#x27

原创 LOJ 6038 「雅禮集訓 2017 Day5」遠行

題面 顯然用LCT維護(需要維護子樹信息) 每條鏈的每個節點維護從鏈的開頭開始的最長路長度,和鏈末尾開始的最長路長度,對於虛兒子維護一個堆(堆裏存的是lma) Code

原创 CPOJ 2018.10.29提高測試 Sequence

考慮兩個數p1k1p_1^{k_1}p1k1​​,p2k2p_2^{k_2}p2k2​​ 設由他們各自的因子構成的數列爲a1ia_{1i}a1i​與a2ia_{2i}a2i​,將bbb質因數分解後pip_ipi​的冪次爲did_id

原创 CPOJ Dash Speed-NOIP十連測-2-3(分治)

題面 考慮對時間分治,假設當前進行到[l,r][l,r][l,r],則將完全包含[l,r][l,r][l,r]的區間加入,其餘區間分類,等到進入左右子區間時處理 顯然有一個結論,兩棵樹合併,新的直徑的兩個端點一定是原來兩棵樹的四個直

原创 CPOJ 太陽神-NOIP十連測-4-3

題面 lcm(a,b)>nlcm(a,b)>nlcm(a,b)>n的難求,考慮求lcm≤nlcm\leq nlcm≤n的 ∑a∑b[abgcd(a,b)≤n]=∑g∑a∑b[ab≤ng]=∑gfng \begin{arr

原创 CPOJ 平均數-NOIP十連測

題面 二分答案,每個點減去答案,若一段區間平均數小於答案,那麼它們的和小於零 前綴和來一下,逆序對數就是小於平均數的數對數量 歸併排序搞一下 Code

原创 CPOJ 2018.10.19提高測試 垃圾機器人 (litter)

考慮對每一條路徑差分,以此計算每個點iii在每輪中第kkk個撿的貢獻: costi,k=(1+4)ai          (k=1)

原创 CPOJ 九校聯考第六場day2 中間值(median)

可以擴展到求kkk大的情況: 比較a[l1+k/2−1]a[l1+k/2-1]a[l1+k/2−1]與b[l2+k/2−1]b[l2+k/2-1]b[l2+k/2−1]的大小 若a[l1+l/2−1]a[l1+l/2-1]a[l1+

原创 LOJ 2587 「APIO2018」鐵人兩項

題面 第一次寫圓方樹的題,感覺好難理解啊… 所謂圓方樹就是爲圖中的點雙聯通分量建一個方點,忽略點雙聯通分量中原來的邊,改爲點雙聯通分量中所有的點向該方點連邊. 本題中可以爲所有聯通塊建出圓方樹. 考慮以下樹形DP: 以當前遍歷到的點爲

原创 CPOJ 2018.10.19提高測試 機器人退場 (exit)

只有一邊有出口的可以忽略,求出每個點到左右兩邊的距離li,ril_i,r_ili​,ri​ 若一個點從左邊出,那麼lj&lt;lil_j&lt;l_ilj​<li​且rj&gt;rir_j&gt;r_irj​>ri​的點也必須從左邊

原创 CPOJ 九校聯考第二場day1 優美序列

題面 從左到右枚舉優美區間的右端點,假設當前枚舉到iii,那麼區間[k,i][k,i][k,i]爲優美區間當且僅當 k+num==i k+num==i k+num==i 其中numnumnum爲[k,i][k,i][k,i]中相差爲1

原创 CPOJ 2018.10.14提高測試 圖片拼圖板

題面 使用廣搜,每次只保留估價函數前kkk小的狀態(估價函數可以選每個數到最終位置的曼哈頓距離之和,kkk任選) Code