原创 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'
原创 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<lil_j<l_ilj<li且rj>rir_j>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