時間限制:c/c++ 3秒,其他語言6秒
空間限制:c/c++ 262144k,其他語言524288k
64bit io format: %lld
在無垠的宇宙中,有 n 個星球,第 i 個星球有權值 viv_ivi。
由於星球之間距離極遠,因此想在有限的時間內在星際間旅行,就必須要在星球間建立傳送通道。
任意兩個星球之間均可以建立傳送通道,不過花費並不一樣。第 i 個星球與第 j 個星球的之間建立傳送通道的花費是 lowbit(vi⊕vj)\text(v_i\oplus v_j)lowbit(vi⊕vj),其中 ⊕\oplus⊕ 為二進位制異或,而 lowbit(x)\text(x)lowbit(x) 為 x 二進位制最低位 1 對應的值,例如 lowbit(5)=1,lowbit(8)=8\text(5)=1,\text(8)=8lowbit(5)=1,lowbit(8)=8。特殊地,lowbit(0)=0\text(0)=0lowbit(0)=0。
牛牛想在這 n 個星球間穿梭,於是――你需要告訴 牛牛,要使這 n 個星球相互可達,需要的花費最少是多少。
第一行,乙個正整數 n 。第二行,n 個非負整數 v1,v2,…,vnv_1,v_2,\dots,v_nv1,v2,…,vn 。
保證 1≤n≤2×1051\leq n\leq 2\times 10^51≤n≤2×105,0≤vi<2300\leq v_i < 2^0≤vi<230。
輸出一行,乙個整數表示答案。示例1
複製2 1 2
2複製11 2
1
1、2\text{}1、21、2 號點之間建立通道,v1⊕v2=3,lowbit(3)=1v_1 \oplus v_2=3, \text(3)=1v1⊕v2=3,lowbit(3)=1思路:
這個題就是個分奇偶 然後如果有奇有偶則輸出去重後的(數量-1)
只考慮只有奇數和只有偶數的情況
我們可以把每個數不斷 / 2直到第x次某一位有0 也有1 就說明在除了x後同時出現了奇數和偶數 那答案就是(總數-1) * (1 <
這個題手賤變數名打錯了。。。
打錯的地方
**:
#includeusing namespace std;
typedef long long ll;
const int maxn=2e5+5;
int a[maxn];
int main()
ll m=s.size();
if(flag1&&flag2){
cout<
思維題合集
三個陣列,每個都是1到n的排列,定義為good pair,當且僅當,在三個陣列中,i和j的相對關係一樣。給出三個陣列,求good pair的數目。sample input sample output 42 3 1 4 2 1 4 3 2 4 3 1 3先考慮兩兩陣列,可以通過以一組為基準 rank,...
戰爭 思維題
內部題不放了 樣例輸入2 512 34 45 5105 10 15 43 20 5樣例輸出possible 4 100 impossibleps 感謝yxy給我講明白了這道題 太久沒水題解了來水乙個 早知道這篇題解這麼難寫就不寫了 include include include include de...
面試 思維開發題
1.你讓工人為你工作7天,給工人的回報是一根金條。金條平分成相連的7段,你必須在每天結束時給他們一段金條,如果只許你兩次把金條弄斷,你如何給你的工人付費?答案 將金塊弄斷兩次,折成1比2比4三段。付費情況如下 第x天付費 找回剩餘多少 第一天1 02 4 第二天2 14 1 第三天104 第四天4 ...