BZOJ2460 元素(貪心,線性基)

2021-08-17 02:58:58 字數 898 閱讀 7168

bzoj

第一行包含乙個正整數n,表示礦石的種類數。

接下來 n行,每行兩個正整數numberi 和 magici,表示這種礦石的元素序號

和魔力值。

僅包一行,乙個整數:最大的魔力值

3 1 10

2 20

3 30

由於有「魔法抵消」這一事實,每一種礦石最多使用一塊。

如果使用全部三種礦石,由於三者的元素序號異或起來:1 xor 2 xor 3 = 0 ,

則會發生魔法抵消,得不到法杖。

可以發現,最佳方案是選擇後兩種礦石,法力為 20+30=50。

對於全部的資料:n ≤ 1000,numberi ≤ 10^18

,magici ≤ 10^4

如何避免產生乙個異或和為

0 0

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

#define ll long long

#define rg register

#define max 2000

inline ll read()

int n,ans;

struct xxj

x^=p[i];

}return x;

}}g;struct nodea[max];

bool cmp(node a,node b)

int main()

BZOJ 2460 元素 線性基 貪心

線性基是一種特殊的基,它通常會在異或運算中出現,它的意義是 通過原集合s的某乙個最小子集s1使得s1內元素相互異或得到的值域與原集合s相互異或得到的值域相同。性質 線性基能相互異或得到原集合的所有相互異或得到的值。線性基是滿足性質1的最小的集合 線性基沒有異或和為0的子集。題意 n個礦石,第i個礦石...

BZOJ 2460 元素(貪心 線性基)

description 相傳,在遠古時期,位於西方大陸的ma gicl and 上,人們已經掌握了用魔法礦石煉製法杖的技術。那時人們就認識到,乙個法杖的法力取決於使用的礦石。一般地,礦石越多則法力越強,但物極必反 有時,人們為了獲取更強的法力而使用了很多礦石,卻在煉製過程中發現魔法礦石全部消失了,從...

BZOJ 2460 元素 線性基

input 第一行包含乙個正整數n,表示礦石的種類數。接下來 n行,每行兩個正整數numberi 和 magici,表示這種礦石的元素序號 和魔力值。output 僅包一行,乙個整數 最大的魔力值 sample input 3 1 10 2 20 3 30 sample output 50hint ...