一開始傻傻的超原始暴力,只拿了70分
後來參考了別人的思路用位運算解出來了
思路:①兩個二進位制數若完全相反,異或結果為全一,如10010和01101異或結果是11111
②將二進位制轉化為十進位制
③用乙個陣列記錄下每個數出現的次數
④只需要遍歷每個數a,將其與全1異或,得到的結果b的個數就是與a完全相反的個數
我的**:
#include
using
namespace std;
int num[
10000000];
//陣列必須開這麼大,少乙個零都不行
intmain()
ans +
= num[tmp^maxx]
;//每個同學和前面的同學比較看有沒有全反的,所以後面不用除以2
num[tmp]++;
tmp =0;
} cout<}
審美課 位運算題
oj 藍橋杯的題,比較簡單的乙個題目,因為畫最多只有20幅,且小朋友的判斷只存在兩種狀態,所以可以直接使用乙個二進位制數來表示乙個小朋友的判斷,這樣就可以非常簡單了儲存所有小朋友的判斷結果,且利用 運算子,也能非常簡單的判斷兩個小朋友的判斷是否完全不相同。需要注意的是,題目中說的是完全相反。incl...
位運算 審美課
先看一些基本的位運算 學位運算為以後狀壓,壓位做下鋪墊吧。題目描述 樣例輸入 3 2 3個同學 2幅畫,判斷完全相反的對數 1 00 1 1 0樣例輸出 樣例說明 同學1和同學2的答案完全相反 同學2和同學3的答案完全相反 所以答案是2。總的來說就是res儲存20位所有的狀態,用全1狀態異或同學狀態...
審美課(位運算 map標記)
問題描述 審美的歷程 課上有n位學生,帥老師展示了m幅畫,其中有些是梵谷的作品,另外的都出自五歲小朋友之手。老師請同學們分辨哪些畫的作者是梵谷,但是老師自己並沒有答案,因為這些畫看上去都像是小朋友畫的 老師只想知道,有多少對同學給出的答案完全相反,這樣他就可以用這個資料去揭穿披著皇帝新衣的抽象藝術了...