4 16思維訓練

2021-10-05 03:43:12 字數 1020 閱讀 3225

a

題意:將一根棒子分成四份,成為乙個矩形但不能是正方形,求方法數。

題解:矩形對邊相等,有兩對相同的長和寬,即棒子的長度必須是偶數,是偶數才能對半分。然後手推幾組資料可以知道n/2為奇數的時候答案為n/2,偶數n/2-1

#include

using

namespace std;

intmain()

}

b

題意:給定n個罐子,每個罐子有ai個顏色數量,迴圈消耗,每次消耗乙個,當有罐子顏色用完時停止迴圈,求最多迴圈次數。

題解:考試的時候我想到將迴圈每個數作為起點,然後計算相應次數,最後求最大值。但問題是,不知道怎麼在不用巢狀迴圈的前提下求次數,感覺是做不了的。看了下題解,發現還是一道找規律的題目,看來以後寫cf題要注意下了,b題一般是找規律的思維題,不好很麻煩的。這題的想法是min*n+len,len是最小元素之間的最大距離(開區間、可迴圈)。

#include

using

namespace std;

typedef

long

long ll;

ll a[

200010

],b[

200010];

intmain()

c

題意:給定乙個k,表示2^k階矩陣,只含有+和*,+為1,*為-1,輸出乙個矩陣滿足每行相應位置的乘積和為0.

題解:看了題解然後手動模擬了幾組,發現也沒想象的那麼難。2^k階矩陣可分成四個

2^k-1階矩陣,左上方作為參考陣,下方和右方複製,右下方取負。

#include

using

namespace std;

int a[

1010][

1010];

intmain()

for(i=

0;i<(1

<;i++

) cout<}}

5 6思維訓練

a guest from the past 題解 暴力迴圈會超時。買玻璃瓶有返還,而塑料瓶沒有,應當優先考慮玻璃瓶。玻璃瓶的實際 為b c,但當前 要 b才能買。設買了n瓶,先減去最後一瓶的錢 不包括返還 然後前面的瓶一定能買下並且 為b c。然後剩餘的錢買塑料瓶即可。include using n...

5 7思維訓練

a far relative s birthday cake 題解 每行每列cn2加起來即可。include include using namespace std char a 110 110 intmain for j 0 j cout b far relative s problem 題解 開...

5 11思維訓練

a joysticks 題意 注意ab同為11時停止。include using namespace std intmain cout b beautiful paintings 題解 題目要求最大的相鄰的公升序對數,那麼先公升序一遍,然後將相同的數繼續公升序,不斷繼續這個過程。資料不大,直接暴力。...