導航:首頁 > 操作系統 > 藍橋杯單片機國賽十二屆

藍橋杯單片機國賽十二屆

發布時間:2025-08-02 16:16:03

『壹』 藍橋杯2021年第十二屆國賽真題-和與乘積

藍橋杯2021年第十二屆國賽真題要求我們解決一個關於數列的問題:給定一個整數數列 A = (a1, a2, ..., an),計算滿足區間內元素乘積等於和的區間的個數,即存在某個區間 [L, R],滿足 aL * aL+1 * ... * aR = aL + aL+1 + ... + aR。

輸入部分包括兩個步驟:首先,讀取一個整數 n,表示數列的長度;接著,讀入 n 個整數,表示數列的元素。輸出則是一個整數,表示滿足條件的區間個數。

解題思路涉及構建三個同步數組:one[]、num[] 和 onone[]。one[] 用於記錄每個非1元素前連續1的數量,num[] 存儲每個非1元素前所有1的數量累加,onone[] 則是直接存儲非1的數。通過累乘和累和的對比,我們可以找出滿足條件的區間。具體來說,計算 (num[j] - num[i - 1] - one[i]) 代表至少包含兩個數的乘積和和,然後根據左右兩側1的數量與d(乘積與和的差值)的比較,確定符合條件的區間數量。

總結來說,代碼中通過巧妙的數組操作和判斷條件,實現了對區間乘積等於和的計數,對於數列中每個元素組合的處理都十分精確。理解了這些步驟,你應該能夠透徹理解題目的解題方法。

閱讀全文

與藍橋杯單片機國賽十二屆相關的資料

熱點內容
廣告app是哪裡來的 瀏覽:713
ice伺服器是什麼版本 瀏覽:410
單片機做小車需要哪些零件 瀏覽:377
怎麼節省手機電量安卓 瀏覽:2
iphoneqq郵件伺服器地址 瀏覽:106
新概念英語第二冊pdf 瀏覽:728
最受歡迎的源碼是什麼 瀏覽:475
linux給文件許可權命令 瀏覽:539
hashset介面源碼 瀏覽:879
python動力方程 瀏覽:659
一個編譯器需要多少行代碼 瀏覽:537
安卓7怎麼轉發視頻 瀏覽:245
c51編程教程 瀏覽:199
尼康的相機怎麼創建多個文件夾 瀏覽:465
壓縮餅干開袋即食嗎 瀏覽:158
騰訊雲伺服器創建要多久 瀏覽:831
存儲卡出現奇怪文件夾如何修復 瀏覽:236
恆智天成加密鎖怎麼裝驅動盤 瀏覽:569
醫統天下什麼app 瀏覽:415
程序員那麼可愛里的歌 瀏覽:918