幸運數字(luckly)

2022-08-01 19:36:10 字數 2237 閱讀 7201

題目描述

a國共有 nn 座城市,這些城市由

tex parse error: misplaced &

條道路相連,使得任意兩座城市可以互達,且路徑唯一。每座城市都有乙個幸運數字,以紀念碑的形式矗立在這座城市的正中心,作為城市的象徵。

一些旅行者希望遊覽a國。旅行者計畫乘飛機降落在 xx 號城市,沿著 xx 號城市到 yy 號城市之間那條唯一的路徑遊覽,最終從 yy 城市起飛離開a國。在經過每一座城市時,遊覽者就會有機會與這座城市的幸運數字拍照,從而將這份幸運儲存到自己身上。

然而,幸運是不能簡單疊加的,這一點遊覽者也十分清楚。他們迷信著幸運數字是以異或的方式保留在自己身上的。例如,遊覽者拍了 33 張**,幸運值分別是 5,7,115,7,11 ,那麼最終保留在自己身上的幸運值就是 9(5 \ xor \ 7 \ xor \ 11)9(5xor7xor11) 。有些聰明的遊覽者發現,只要選擇性地進行拍照,便能獲得更大的幸運值。例如在上述三個幸運值中,只選擇 55 和 1111 ,可以保留的幸運值為 1414 。

現在,一些遊覽者找到了聰明的你,希望你幫他們計算出在他們的行程安排中可以保留的最大幸運值是多少。

輸入格式

第一行包含 22 個正整數 nn 、 qq ,分別表示城市的數量和旅行者數量。

第二行包含 nn 個非負整數,其中第 ii 個整數 g_igi​表示 ii 號城市的幸運值。

隨後tex parse error: misplaced &

行,每行包含兩個正整數 xx 、 yy ,表示 xx 號城市和 yy 號城市之間有一條道路相連。

隨後 qq 行,每行包含兩個正整數 xx 、 yy ,表示這名旅行者的旅行計畫是從 xx 號城市到 yy 號城市。

輸出格式

輸出需要包含 qq 行,每行包含 11 個非負整數,表示這名旅行者可以保留的最大幸運值。

樣例樣例輸入

4 2

11 5 7 9

1 21 3

1 42 3

1 4

樣例輸出

14

11

資料範圍與提示

【資料範圍】

看到求最大異或和,考慮用線性基解決。

我們開乙個線性基的倍增陣列。跳lca即可。

樹剖+線段樹可以支援修改。

#include#include

#include

#include

#include

#include

#define ll long long

#define maxn 20005

using

namespace

std;

int n,q,f[maxn][22

],deep[maxn],head[maxn],tot;

ll a[maxn];

struct

nodee[maxn*2

];struct

xx k^=s[i];}}

}void

c()}g[maxn][

22];

void lj(int t1,int

t2)void dfs(int k,int

fa)}

xx merge(xx a,xx b)

returna;}

ll work(

int t1,int

t2)

for(int x=20;x>=0;x--)

}if(t1!=t2)ans=merge(ans,g[t1][0]),ans=merge(ans,g[t2][0]),t1=f[t1][0

]; ans=merge(ans,g[t1][0

]); ll a=0

;

for(int i=62;i>=0;i--)a=max(a,a^ans.s[i]);

returna;}

intmain()

dfs(

1,0);

for(int j=1;j<=20;j++)

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

for(int i=1,t1,t2;i<=q;i++)

return0;

}

view code

python幸運數字判斷 幸運數字 小程式

問題描述 1 n個數字,每個數字的範圍 9999到9999,把這n個數字排序後,刪除奇數字的數,然後把剩餘的數按原位置排序後繼續刪除奇數字,直到剩餘乙個數為止,剩餘的數就是幸運數,輸出幸運數和它最初的位置。程式的輸入為兩個引數 數字的數量 n 具體的資料 以空格隔開 比如 6 66 666 6666...

幸運數字2

題目 定義乙個數字為幸運數字當且僅當它的所有數字都是4或者7。比如說,47 744 4都是幸運數字而5 17 467都不是。定義next x 為大於等於x的第乙個幸運數字。給定l,r,請求出next l next l 1 next r 1 next r include include include...

進製數字幸運數

程式設計題 幸運數 時間限制 1秒 空間限制 32768k 小明同學學習了不同的進製之後,拿起了一些數字做起了遊戲。小明同學知道,在日常生活中我們最常用的是十進位制數,而在計算機中,二進位制數也很常用。現在對於乙個數字x,小明同學定義出了兩個函式f x 和g x f x 表示把x這個數用十進位制寫出...