BZOJ 2460 元素 線性基

2021-08-21 15:22:44 字數 958 閱讀 6085

input

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

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

和魔力值。

output

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

sample input

3 1 10

2 20

3 30

sample output

50hint

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

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

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

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

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

,magici ≤ 10^4

source

day2

在異或求最值的時候線性基能得到良好的應用,感覺非常神奇。

這個題目就是相同值的元素會相互抵消,那麼就可以將val從大到小排序,優先選取得到最優解。

#include

using

namespace

std;

#define ll long long int

const

int maxn=1e3+23;

struct nodea[maxn];

ll b[65];

bool cmp(node a,node b)

int n;

int main()

sort(a+1,a+1+n,cmp);

int ans=0;

for(int i=1;i<=n;i++)}}

}printf("%d",ans);

return

0;}

BZOJ 2460 元素 線性基 貪心

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

BZOJ 2460 元素(貪心 線性基)

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

BZOJ2460 元素(貪心,線性基)

bzoj 第一行包含乙個正整數n,表示礦石的種類數。接下來 n行,每行兩個正整數numberi 和 magici,表示這種礦石的元素序號 和魔力值。僅包一行,乙個整數 最大的魔力值 3 1 10 2 20 3 30 由於有 魔法抵消 這一事實,每一種礦石最多使用一塊。如果使用全部三種礦石,由於三者的...