異或運算子(^)
關於異或運算(^),談談自己淺顯的認識:
0異或任何非零數n結果為n,n^n=0。
交換律:a ^ b = b ^ a,
結合律:a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c,
d = a ^ b ^ c 可以推出 a = d ^ b ^ c,
自反性:a ^ b ^ a = b。
問題:有一組數,從1到n依次遞增,其中有且只有一個數重複,找出那個數。
解:
設重複的數為n,
令S=1^2 ^3 ^n ··· ^1000,則1 ^2 ^3 ^n ^ n··· ^ 1000=S ^n,
∴(1^2 ^3 ^n ^n··· ^1000) ^(1 ^2 ^3 ^ n··· ^1000)=(S ^n) ^S= n,
重複的數為n。
相關推薦
異或運算子(^)
關於異或運算(^),談談自己淺顯的認識: 0異或任何非零數n結果為n,n^n=0。 交換律:a ^ b = b ^ a, 結合律:a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c, d = a ^ b ^ c 可以推出 a = d ^ b ^ c, 自反性:a ^
[Java] 不使用第三個變數實現兩個整數型別變數互換(異或運算子)
在對變數進行互換時,通常的做法是建立一個臨時變數來共同完成互換,但臨時變數的建立增加了系統資源的消耗。 其實,如果需要交換的是兩個整數型別的變數,則可以使用異或運算子( ^ )進行互換。 imp
SPOJ MAXOR (分塊 || 可持久化字典樹 || 異或)(好題)
pan log max nta 得到 second 連續 class ... You are given a sequence A[1], A[2], ..., A[N]. (0 ≤ A[i] < 231, 1 ≤ N ≤ 12000). A qu
【BZOJ5301】【CQOI2018】異或序列(莫隊)
script oid -i 莫隊 void for per printf main 【BZOJ5301】【CQOI2018】異或序列(莫隊) 題面 BZOJ 洛谷 Description 已知一個長度為 n 的整數數列 a[1],a[2],…,a[n] ,給定查詢參數 l、
「LuoguP2420」 讓我們異或吧(樹上前綴和
pro main () radi 運算 總結 str logs using P2420 讓我們異或吧-洛谷 題目描述 異或是一種神奇的運算,大部分人把它總結成不進位加法. 在生活中…xor運算也很常見。比如,對於一個問題的回答,是為1,否為0.那麽:
2018.10.26 洛谷P4551 最長異或路徑(01trie)
傳送門 直接把每個點到根節點的異或距離插入01trie。 然後列舉每個點在01trie上匹配來更新答案就行了。 程式碼: #include<iostream> #include<cstdio> #include<cstring> #include&
異或和(權值樹狀陣列)
異或和(權值樹狀陣列) 題目描述 在加里敦中學的小明最近愛上了數學競賽,很多數學競賽的題都是與序列的連續和相關的。所以對於一個序列,求出它們所有的連續和來說,小明覺得十分的簡單。但今天小明遇到了一個序列和的難題,這個題目不僅要求你快速的求出所有的連續和,還要快速的求出這些連續和的異或值。小明很快的就求出了
BZOJ5301: [Cqoi2018]異或序列(莫隊)
5301: [Cqoi2018]異或序列 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 400 Solved: 291[Submit][Status][Discuss]
【C語言】使用異或運算子交換兩個數
異或交換兩個數: #include<stdio.h> #include<stdlib.h> int main() { int a, b; a = 10; b = 20; a= a^b; b =a^b; a =a^b; printf("%d\n%d\n", a
bzoj 4888異或和(和的異或)
文章目錄 題目連結: 思路: 怎麼快速知道有多少個sum[l-1]滿足sum[r]-sum[l-1]的第k位是1 (一)分類討論 (二)用不等式 題目連結: https://
BZOJ4888 Tjoi2017異或和(樹狀陣列)
化為字首和相減。考慮每一位的貢獻。則需要快速查詢之前有幾個數和當前數的差在第k位上為1。顯然其與更高位是無關的。於是用BIT維護後k位的數的出現次數,瞎算一算即可。 // luogu-judger-enable-o2 #include<iostream> #include<cs
BZOJ4888 Tjoi2017異或和(樹狀數組)
ons ont \n name include bit online ger ++ 化為前綴和相減。考慮每一位的貢獻。則需要快速查詢之前有幾個數和當前數的差在第k位上為1。顯然其與更高位是無關的。於是用BIT維護後k位的數的出現次數,瞎算一算即可。 // luogu-
BZOJ4561 JLOI2016圓的異或並(掃描線+平衡樹)
考慮一條掃描線從左到右掃過這些圓。觀察某一時刻直線與這些圓的交點,可以發現構成一個類似括號序列的東西,括號的包含關係與圓的包含關係是相同的。並且當掃描線逐漸移動時,括號間的相對順序不變。於是考慮用set維護這個括號序列,插入時統計被包含層數。這隻需要查詢後繼括號,如果是右括號則被該括號包含,答案為該括號次
深度學習入門筆記(二)————線性神經網路解決異或問題(程式碼)
首先梳理一下思路 輸入為1,0。00異或為0,01異或為1,10異或為1,11異或為0.所以輸出為2類如下圖可知,需要兩條線劃分。 Madaline用間接地辦法解決。多個線性函式進行劃分,然後對各個神經元的輸出做邏輯運算。如圖,用兩條直線實現了異或的劃分。 線
bzoj3261: 最大異或和(可持久化字典樹)
Problem 給定一個非負整數序列 a{a}a,初始長度為 nnn。 有M個操作,有以下兩種操作型別: 1、A1、A1、A $ x$:新增操作,表示在序列末尾新增一個數 xxx ,序列的長度 n+1n
2018.09.26【TJOI2017】【BZOJ4888】【洛谷P3760】異或和(樹狀陣列)(差分)
洛谷傳送門 解析: 額,TJOITJOITJOI連續兩年考了位運算。。。 我還能說什麼。。。 PS:zxyoiPS:zxyoiPS:zxyoi不是天津oieroieroier。 思路: 一般位運算都
2018.12.07【LOJ114】k 大異或和(線性基)(高斯消元)
傳送門 解析: 先求一個線性基,然後高斯消元解線性空間,然後基本上就是亂搞把第 k k k
bzoj3261: 最大異或和 (可持久化trie樹)
多少 ace 經典 經典的 bzoj3261 個數 math 應該 sum 題目鏈接 題解 看到異或和最大就應該想到01 trie樹 我們記\(S_i\)為前i項的異或和 那麽我們的目的是最大化\(S_n\)^\(x\)^\(S_{j-1}\) \((l <= j &
(轉載)求1到n這n個整數間的異或值(O(1)演算法)
轉自http://www.cnblogs.com/flyinghearts/archive/2011/03/22/1992001.html 問題:求1到n這n個整數間的異或值,即 1 xor 2 xor 3 ... xor n 記 f(x, y) 為x到y的所有整
P5169 xtq的異或和(FWT+線性基)
傳送門 我咋感覺我學啥都是白學…… 首先可以參考一下這一題,從中我們可以知道只要知道兩點間任意一條路徑以及整個圖裡所有環的線性基,就可以得知這兩個點之間的所有路徑的異或和 然而我好像並不會求線性基能張成的元素……話說原來這個線上性基裡爆搜就可以了麼…… 於是我們可以隨便選一個點為根,\(dfs\)一遍