藍橋杯 審美課

2021-09-13 12:28:38 字數 1928 閱讀 3082

問題描述

《審美的歷程》課上有n位學生,帥老師展示了m幅畫,其中有些是梵谷的作品,另外的都出自五歲小朋友之手。老師請同學們分辨哪些畫的作者是梵谷,但是老師自己並沒有答案,因為這些畫看上去都像是小朋友畫的……老師只想知道,有多少對同學給出的答案完全相反,這樣他就可以用這個資料去揭穿披著皇帝新衣的抽象藝術了(支援帥老師^_^)。

答案完全相反是指對每一幅畫的判斷都相反。

輸入格式

第一行兩個數n和m,表示學生數和圖畫數;

接下來是乙個n*m的01矩陣a:

如果aij=0,表示學生i覺得第j幅畫是小朋友畫的;

如果aij=1,表示學生i覺得第j幅畫是梵谷畫的。

輸出格式

輸出乙個數ans:表示有多少對同學的答案完全相反。

樣例輸入

3 21 0

0 11 0

樣例輸出

樣例說明

同學1和同學2的答案完全相反;

同學2和同學3的答案完全相反;

所以答案是2。

資料規模和約定

對於50%的資料:n<=1000;

對於80%的資料:n<=10000;

對於100%的資料:n<=50000,m<=20。

思路分析

題意為n組長度為m的二進位制,求這n個二進位制有多少對完全相反;

這裡完全相反的意思是這兩個二進位制進行異或運算結果為全一,也就是這兩個數相加;

(異或運算:相同為0,不同為一;可表示為1^1=0,0^0=0,1^0=1,0^1)

換個說法題意就是:

這n個數中有多少對相加為2的m次方減一

看到這一步,一定會有一種兩重迴圈的暴力方法出現,(我一開始也是兩重迴圈),但是只能過60%想拿滿分一定得有其他方法

我又想到先把這n個數排序,一旦第二重迴圈的數加上第一重迴圈的數就結束第二層迴圈,這種方法僅僅過了70%,那就得繼續優化

於是,我們可以記錄每個數出現的次數,樣例中m<=20;也就是說最大為2的20次方減一;我們引入桶排序的思想,設定乙個2的20次方的陣列記錄資料;然後一重迴圈,每次都用最大值減去當前值,看差值出現了幾次;輸了這麼多直接上**吧;

原始方法

#include #include #include #include using namespace std;

int main() }

int sum=0;

//暴力匹配

for(int i=0;i快拍後

#include #include #include #include using namespace std;

//快速冪;對pow函式不熟悉;直接寫的快速冪可忽略,作用是求2的n次方

int poww(int n)

a*=a;

n>>=1;

} return b;

}int main() }

int sum=0;

sort(a,a+n);

for(int i=0;ipoww(m-1))

break;

for(int j=i+1;j(poww(m))-1)

if((a[i]^a[j])==(poww(m))-1)

} }cout《解決問題的**

#include #include #include #include using namespace std;

int num[20000000];

//快速冪

int poww(int n)

a*=a;

n/=2;

} return b;

}int main()

num[a[i]]++; }

int sum=0;

int maxx=poww(m)-1;

for(int i=0;i//由於全遍歷所以答案是結果的兩倍

cout<}

藍橋杯 演算法訓練 審美課

借鑑出處 自己暴力模擬得了70分 自己太菜 用處 加深對map的理解 問題描述 審美的歷程 課上有n位學生,帥老師展示了m幅畫,其中有些是梵谷的作品,另外的都出自五歲小朋友之手。老師請同學們分辨哪些畫的作者是梵谷,但是 老師自己並沒有答案,因為這些畫看上去都像是小朋友畫的 老師只想知道,有多少對同學...

藍橋杯 審美課(C 解決)

問題描述 審美的歷程 課上有n位學生,帥老師展示了m幅畫,其中有些是梵谷的作品,另外的都出自五歲小朋友之手。老師請同學們分辨哪些畫的作者是梵谷,但是老師自己並沒有答案,因為這些畫看上去都像是小朋友畫的 老師只想知道,有多少對同學給出的答案完全相反,這樣他就可以用這個資料去揭穿披著皇帝新衣的抽象藝術了...

藍橋杯 演算法訓練 審美課

將每一行的數字用二進位制數儲存在陣列 a i 中,累加 a i 出現的個數儲存在 b a i 中。a i 取反可得到 a i 完全相反的答案。取反可將 a i 與 1 1 1 1 1 1.m個1 異或,答案相同。總數 2即為答案。注意 是按位移中的左位移,向左移動幾位就是乘以2的幾次方。參考自 in...