1. 程式人生 > >牛客國慶集訓派對Day5——題解

牛客國慶集訓派對Day5——題解

A 璀璨光滑

    首先固定一號點標0,那麼與一號點相鄰的標2i2^i,對於一個標號xx,如果已經確定了x2a,x2bx-2^a,x-2^b,那麼這個點可以被唯一確定。接下來就相當與這些位可以隨便調換,每個位關於這2n2^n個數字是個0101序列,然後排個序即可。

B 電音之王

    黑科技wiki Montgomery modular multiplication/
    現在在32位機上跑不過暴力,所以用long double試除就能過

C 萌新拆塔

    狀壓dp+簡單計算。注意有模仿怪所以不要無腦吃寶石即可。

D 奇蹟暖婊

    對偶費用流,努力卡了很久之比LP快了一點點,只好卡記憶體了。

E 風花雪月

    任意不滿足的狀態對答案的貢獻為11,所以只需要求出每個不夠的狀態的概率最後加上11。我們認為我們總共需要4sum4*sum  cc件衣服,每次抽如果沒到達cc,那麼貢獻為44,否則貢獻為11
    dp[i][j][k]dp[i][j][k]表示前ii件衣服,抽了jj件,總貢獻為kk的概率和。

F 雙倍掉率

    maxmax C(n,a)C(n,a) C(m,b)C(m,b) pap^a (1p)na(1-p)^{n-a} (2p)b(2p)^b

b (12p)mb(1-2p)^{m-b} 取對數求導之後解個二次方程或者二分即可。

G 貴族使用者

    列舉哪一檔,然後算一下錢夠不夠,不夠接著氪錢

H 我不愛她

    一個字首/字尾代價為本身長度-borderborder長度,hash+kmphash+kmp即可

I 人渣本願

    KMKM,然後求出每個點刪掉之後的最大權匹配,這個只要把頂標和邊權改成00,然後跑一邊KMKM中的增光即可,然後類似一個半平面交的東西,由於範圍很小可以列舉每個人跑不等式

J 友誼巨輪

    模擬,用一個mapmap記錄一下兩兩之間聊了幾句和最近時間,用一個s

eset當堆,然後每次修改的時候就pp_old[x]old[x]xxpp__new[x]new[x]三個點的狀態會變

K 最後戰役

    cc個人中,相對排名kk,這個人期望是k(n+1)/(c+1)k(n+1)/(c+1)
    倒著dpdp,看選這個人的期望與選後麵人的期望,需要一個樹狀陣列統計排名

L 數論之神

    找規律發現一定是1,2,3,...,x,n/(x1),n/(x2),...n1, 2, 3, ..., x, n/(x-1), n/(x-2), ...n
    xxn\sqrt{n}附近, 找到即可