第一行包含兩個整數n和 m, 表示該無向圖中點的數目與邊的數目。 接下來m 行描述 m 條邊,每行三個整數si,ti ,di,表示 si 與ti之間存在 一條權值為 di的無向邊。 圖中可能有重邊或自環。
output
僅包含乙個整數,表示最大的xor和(十進位制結果),注意輸出後加換行回車。
sample input
5 71 2 2
1 3 2
2 4 1
2 5 1
4 5 3
5 3 4
4 3 2
sample output
61到n點的異或和即為1到n的任意一條線異或上路徑上若干的環,所以dfs出所有環放入線性基順便得到一條路,再用這條路遍歷線性基找到最大異或值
#include#define ll long long
#define maxn 50005
using namespace std;
struct node
;vectoredge[maxn];
ll dis[maxn];
int vis[maxn];
struct l_b
inline bool insert(ll x)
ll get_min()
inline void rebuild()
ll kth(ll k) };
l_b lis;
void dfs(int u,int v)
}int main()
dfs(1,0);
printf("%lld\n",lis.get_max(dis[n]));
}
19暑假線性基B
input 第一行包含乙個正整數n,表示礦石的種類數。接下來 n行,每行兩個正整數numberi 和 magici,表示這種礦石的元素序號 和魔力值。output 僅包一行,乙個整數 最大的魔力值 sample input 31 10 2 20 3 30 sample output 50hint 由...
19暑假線性基F
已知乙個長度為n的正整數序列a 下標從1開始 令 s s 的冪集2 s定義為s 所有子 集構成的集合。定義對映 f 2 s zf 空集 0f t xor a t 對於一切t屬於t現在albus把2 s中每個集 合的f值計算出來,從小到大排成一行,記為序列b 下標從1開始 給定乙個數,那麼這個數在序列...
19暑假dp優化
l公司有n個工廠,由高到底分布在一座山上。如圖所示,工廠1在山頂,工廠n在山腳。由於這座山處於高原內 陸地區 乾燥少雨 l公司一般把產品直接堆放在露天,以節省費用。突然有一天,l公司的總裁l先生接到氣象 部門的 被告知三天之後將有一場暴雨,於是l先生決定緊急在某些工廠建立一些倉庫以免產品被淋壞。由於...