原创 洛谷P3911 最小公倍數之和-莫比烏斯反演

傳送門 題意: 給出n個數aiai ,求∑ni=1∑nj=1lcm(ai,aj)∑i=1n∑j=1nlcm(ai,aj) 1≤N≤50000;1≤ai≤500001≤N≤50000;1≤ai≤50000 Solution: 再次被

原创 BZOJ1717.產奶的模式-後綴數組+倍增

權限題。 題意: 求一個字符串中出現超過k次的最長子串,可重疊 (n<=20000) Solution: 先用後綴數組跑出height 然後我們知道一個性質:任意兩個後綴的最長公共前綴就是它們之間所有height取min 那麼這個

原创 BZOJ5249:[2018多省省隊聯測]IIIDX-線段樹

傳送門 題意: 你需要給給正在製作中的遊戲《IIIDX》安排曲目的解鎖順序。遊戲內共有n首曲目,每首曲目都會有一個難度d,遊戲內第i首曲目會在玩家Pass第⌊ik⌋⌊ik⌋ 首曲目後解鎖。 安排這些曲目的順序,使得每次解鎖出的子的

原创 BZOJ4515: [Sdoi2016]遊戲-樹鏈剖分+超哥線段樹

傳送門 題意: Alice 和 Bob 在玩一個遊戲。 遊戲在一棵有 n 個點的樹上進行。最初,每個點上都只有一個數字,那個數字是 123456789123456789。 有時,Alice 會選擇一條從 s 到 t 的路徑,在這條

原创 BZOJ4872: [Shoi2017]分手是祝願-期望dp

傳送門 題意: B 君在玩一個遊戲,這個遊戲由 n 個燈和 n 個開關組成,給定這 n 個燈的初始狀態,下標爲從 1 到 n 的正整數。 每個燈有兩個狀態亮和滅,我們用 1 來表示這個燈是亮的,用 0 表示這個燈是滅的,遊戲的目標

原创 BZOJ1063: [Noi2008]道路設計-樹形DP

傳送門 題意: Z國是一棵樹,爲了使Z國的交通更加便利順暢,現決定在Z國的公路系統中確定若干條規劃路線,將其中的公路全部改建爲鐵路。我們定義每條規劃路線爲一個長度大於1的城市序列,每個城市在該序列中最多出現一次。任意兩條規劃路線不能有公共

原创 BZOJ 3925:[Zjoi2015]地震後的幻想鄉-狀壓DP

傳送門 題意: 給定一個n點m邊的無向圖,沒有重邊和自環,每條邊的權值爲[0,1][0,1] 之間的隨機變量,求最小生成樹中最大邊的期望權值。 n≤10,m≤n(n−1)2n≤10,m≤n(n−1)2 Solution: 題意其實可以轉

原创 BZOJ5340: [Ctsc2018]假面-期望DP

傳送門 題意: 有 2 個技能: 1.鎖定:對一名指定的敵方單位使用,以 p 的概率對該單位造成 1 點傷害。 2.結界:在一片區域施放結界,讓該區域內的所有其他單位無法動彈。 如果一個單位的生命值降至 0 或 0 以下,那麼該單位就會死

原创 BZOJ4565: [Haoi2016]字符合並-區間DP+狀壓DP

傳送門 題意: 有一個長度爲 n 的 01 串,你可以每次將相鄰的 k 個字符合並,得到一個新的字符並獲得一定分數。得到的新字符和分數由這 k 個字符確定。你需要求出你能獲得的最大分數。 1≤n≤300,0≤ci≤1,1≤wi≤109,k

原创 BZOJ5339: [TJOI2018]教科書般的褻瀆-組合數學

傳送門 題意: 在爐石傳說中有這樣的一個場面:n個隨從,血量爲1~n,現在去除m個隨從,然後開始釋放“褻瀆”。每使用一張“褻瀆”會獲得一定的分數,分數計算如下:在使用一張“褻瀆”之後,每一個被褻瀆造成傷害的怪會產生xkxk 的分數,其中x

原创 BZOJ4836: [Lydsy1704月賽]二元運算-分治FFT

傳送門 題意: 定義二元運算 opt 滿足 x opt y={x+yx−y,,x<yx≥yx opt y={x+y,x<yx−y,x≥y 現在給定一個長爲 n 的數列 a 和一個長爲 m 的數列 b ,接下來有 q 次詢問。每次詢問給定一

原创 BZOJ2727: [HNOI2012]雙十字-樹狀數組

傳送門 題意: 給定一個R∗CR∗C 的01 矩陣,要求計算出這個 01 矩陣中有多少個雙十字。 雙十字由兩條水平的和一條豎直的“1”線段組成,要求滿足以下幾個限制: 1.兩條水平的線段不能在相鄰的兩行。 2.豎直線段上端必須嚴格高於兩條

原创 洛谷P3830 [SHOI2012]隨機樹-期望DP

傳送門 題意: 一棵含有n個葉子節點的二叉樹通過如下方式生成: 每次等概率的隨機選擇一個葉子節點,將這個節點加上左右兩個子節點 求: 1.葉子節點平均深度的期望 2.樹深度的期望 n≤100n≤100 Solution: 第一問很好處理:

原创 BZOJ4833: [Lydsy1704月賽]最小公倍佩爾數-數論

傳送門 題意: 令(1+2–√)n=e(n)+f(n)∗2–√(1+2)n=e(n)+f(n)∗2 ,其中e(n),f(n)e(n),f(n) 都是整數。 令g(n)g(n) 表示f(1),f(2)…f(n)f(1),f(2)…f(n)

原创 BZOJ4197: [Noi2015]壽司晚宴-狀壓DP

傳送門 題意: n-1個數,分別爲2~n,現從中取出若干數放入兩個集合中,使A集合中所有數都和B集合中的所有數互質,求滿足條件的方案數。 n≤500n≤500 Solution: 根據題意,在一個集合中選擇一個數相當於選擇了這個數的質因子