聯賽模擬測試 15

2022-02-02 04:03:08 字數 1560 閱讀 2678

每個裝備只能用一次,那麼我們就可以考慮二分圖匹配。

用裝備向它的屬性值建邊,然後從屬性值的 \(1\) 開始跑匈牙利。

如果不能匹配了就是最大的攻擊次數。

需要注意,如果每次 \(memset\) 一定會 \(t\) ,所以我們記錄乙個時間戳,每次判斷 \(vis\) 陣列是否等於時間戳即可。

裸的約瑟夫問題,容易得到通項公式 \(p_ = (p_ + m) % i\) , \(i\) 為剩餘人數。

資料範圍 \(1e9\) ,直接 \(o(n)\) 不可過,看到 \(m\) 遠小於 \(n\) ,於是可以優化。

我們找到一次最多可以條幾步,然後直接加上這麼多,時間大大優化,可過。

跳的步數應該是 \(min(n - i - 1,\frac- 1)\)

題目給出的是向量相乘,即叉積。

設兩個向量為 \((x,y),(a,b)\) ,其叉積為 \((ay-bx)\) ,然後我們就可以推柿子。

\[\begin ans &=& \sum \limits_^r \sum \limits_^r (v_i \times v_j)^2 \\ &=& \sum \limits_^r \sum \limits_^r (x_iy_j-x_jy_i)^2 \end

\]然後我們繼續乘法分配率:

\[\begin ans &=& \sum \limits_^ \sum \limits_^r (x_i^2y_j^2+x_j^2y_i^2-2x_iy_ix_jy_j) \\ &=& \sum \limits_^r \sum \limits_^r x_i^2y_j^2 + \sum \limits_^r \sum \limits_^r x_j^2y_i^2 - \sum \limits_^r \sum \limits_^r 2x_iy_ix_jy_j \\ &=& \sum \limits_^r \sum \limits_^r [i!=j]\times x_i^2y_j^2 - \sum \limits_^r \sum \limits_^r [i!=j]\times x_iy_ix_jy_j \\ &=& \sum \limits_^r x_i^2 (\sum \limits_^r y_j^2 -y_i^2) - (\sum \limits_^r x_iy_i (\sum \limits_^r x_jy_j - x_iy_i)) \\ &=& \sum \limits_^r x_i^2 \sum \limits_^r y_j^2 - \sum \limits_^r x_i^2y_i^2 - (\sum \limits_^r x_iy_i \sum \limits_^r x_jy_j - \sum \limits_^r x_i^2 y_i^2) \\ &=& \sum \limits_^r x_i^2\times \sum \limits_^ry_i^2 - (\sum \limits_^r x_iy_i)^2\end

\]線段樹維護 \(\sum \limits_^r x_i^2\) , \(\sum \limits_^r y_i^2\) , \(\sum \limits_^r x_iy_i\) 即可。

最長公共上公升子串行 \(lcis\) 板子。

列舉的時候記錄一下上次的更新位置和更新點即可,輸出方案的時候遞迴輸出。

\(never\ give\ up\)

2020 10 13 聯賽模擬測試15

把每個 的兩個屬性連上邊,即將 看作邊,將屬性看做點。對於樹聯通塊,顯然不選最大的節點 屬性 對於非樹聯通塊,因為每個 可以選兩個相鄰節點之一,顯然每個節點 屬性 都可以被選。n個人,每次報到m的死 初始ans 0,列舉 2 i n,每次 ans m i 最後 ans 1 即答案 本題n達到了1e9...

聯賽模擬測試34

考場打表 rand 正解可以根據乙個倍數往上翻 如果乙個數b是a的n倍,那麼b可以由a貼上n次得到 開乙個佇列按照每個因數倍增幾次取最小即可 藍書原題 csp考試之前還看來著 然後考場假了 打了暴力滾粗 下來之後一點就透了 等比數列求和 對於唯一一組hack資料 是mod完階乘出0了 特判一次直接往...

聯賽模擬測試33

區間dp g i j 表示從第i位到第j位中間有多少不重複出現的數字 f i j 表示合併i到j能獲得的收益之和 特隊兒在寫的時候 正序遍歷掛成零分 原來是沒有學習經驗 還是要注意遍歷方法 眾所周知,乙個合格的oier不僅要會數奧,物奧,生奧 甚至還要會一點點美術 考試的時候畫了好久 打表拿到了 5...