原创 CF662C Binary Table 枚舉 FWT

題面 洛谷題面 (雖然洛谷最近有點慢) 題解 觀察到行列的數據範圍相差懸殊,而且行的數量僅有20,完全可以支持枚舉,因此我們考慮枚舉哪些行會翻轉。 對於第i列,我們將它代表的01串提取出來,表示爲\(v[i]\), 然後我們假設有第0列,其

原创 分治FFT

目錄 分治FFT 目的 算法 代碼 分治FFT 目的 解決這樣一類式子: \[f[n] = \sum_{i = 0}^{n - 1}f[i]g[n - i]\] 算法 看上去跟普通卷積式子挺像的,但是由於計算\(f\)的每

原创 [SCOI2016]幸運數字 線性基

題面 題面 題解 題面意思非常明確:求樹上一條鏈的最大異或和。 我們用倍增的思想。 將這條鏈分成2部分:x ---> lca , lca ---> y 分別求出這2個部分的線性基,然後合併,再求最大異或和。 所以我們現在只需要考慮如何在樹上

原创 [HAOI2017]八縱八橫 線性基

題面 題面 題解 觀察到題目中的 “內陸經濟環” 不好處理,因此我們把它拆成 “內陸經濟鏈”。 對於1號節點,我們創建一個它的複製節點n + 1號節點,這個節點繼承1號節點的所有邊,可以發現,一個1到1的內陸經濟環,和一個1到n + 1的內

原创 [六省聯考2017]期末考試 貪心 枚舉

題面 題面 題解 因爲每個學生產生的代價其實只跟自身屬性和最後一門成績的公佈時間相關, 所以考慮如果我們固定一個時間t作爲最後一場,那麼我們就可以快速算出此時的代價了。 首先在t之前的成績都可以用來和在t後面的成績多次配對進行第一種操作。

原创 [WC2011]最大XOR和路徑 線性基

題面 題面 題解 其實是一個很重要的套路啦。 首先我們從s到t的一個基礎路徑肯定是一條鏈,在此基礎上,我們唯一可以帶來一些增益的走法就是在走這條鏈的基礎上走一些環,因爲xor的特點,來回走的路都相當於沒走,而只有環可以做到不往回走卻能回到原

原创 [JLOI2011]飛行路線 最短路

題面 題面 題解 這題不是很難,因爲刪代價的次數不多,因此我們只需要將最短路中的狀態加一維表示已經刪了幾次,再轉移即可 #include<bits/stdc++.h> using namespace std; #define R regis

原创 [CQOI2013]新Nim遊戲 線性基

題面 題面 題解 首先我們知道nim遊戲先手必敗當且僅當所有石堆異或和爲0,因此我們的目標就是要使對手拿石堆的時候,無論如何都不能使剩下的石堆異或和爲0。 對於一個局面,如果我們可以選取一些可以湊出0的石堆留下(因爲不能全部拿走,所以這裏至

原创 [BJWC2011]元素 線性基

題面 題面 題解 一個方案合法,當且僅當選取的01串湊不出0. 因此就是要使得選取的01串全在線性基內,具體原因可以看這道題:[CQOI2013]新Nim遊戲 線性基 要使得魔力值最大,只需要按法力值從大到小,貪心的往線性基中加串就可以了

原创 [TJOI2008]彩燈 線性基

題面 題面 題解 題意:給定n個01串,求互相異或能湊出多少不同的01串。 線性基的基礎應用。 對於線性基中的01串,如果我們取其中一些湊成一個新的01串,有一個重要的性質:任意2個不同方案湊出的01串也不相同。 因此我們只需要求出給定01

原创 CF878C Tournament set 圖論

題面 題面 題解 如果2個人可以互相戰勝,那麼我們連一條無向邊,於是最後會剩下t個聯通塊,其中每對聯通塊之間都有嚴格的大小關係(a.max < b.min),因此我們每插入一個點就相當於合併一段連續的塊,其中邊界(無法繼續合併的地方)是第一

原创 [HEOI2014]人人盡說江南好 博弈論

題面 題面 題解 感覺這題挺神仙的,根據一些奇奇怪怪的證明可以得到: 最後的終止狀態一定是\(m, m, m, m, .... n \% m\). 因此我們可以O(1)計算到終止狀態所需步數,然後根據奇偶性即可判斷誰勝誰負。 #includ

原创 [NOI2011]兔兔與蛋蛋遊戲 二分圖博弈

題面 題面 題解 通過觀察,我們可以發現如下性質: 可以看做是2個人在不斷移動空格,只是2個人能移動的邊不同 一個位置不會被重複經過 : 根據題目要求,因爲是按黑白輪流走,所以不可能重複經過一個點,不然就變成一個人連續走2次了 原圖是一個

原创 [FJWC2018]全排列 DP

題面 題面 題解 (表示第一段文字導致我在考場上沒看懂題……因爲我以爲這個定義是定義在整個排列上的,所以相似 = 相同。結果其實是可以應用在一個區間上……) 首先我們發現,2個區間相似,其實就是離散化之後相同。 觀察到,相似區間的位置是沒有

原创 [TJOI2015]線性代數 網絡流

題面 題面 題解 先化一波式子: \[D = (A \cdot B - C)A^T \] \[ = \sum_{i = 1}^{n}H_{1i}\cdot A^T_{i1}\] \[H_{1i} = (\sum_{j = 1}^{n}A_{