目錄
題目:
題目描述:
題目鏈接:
思路:
打表找規律:
核心思路:
思路詳解:
得到答案的方式:
按計算器:
暴力求解代碼:
快速冪代碼:
位運算代碼:
題目:
題目描述:
題目鏈接:
P12131 [藍橋杯 2025 省 B] 客流量上限 - 洛谷
思路:
打表找規律:
只能說實戰>模擬,我其實考試前還專門刷了好幾題藍橋杯的找規律題,說起來也知道當數據很大的時候要有打表找規律的意識,但是一到考場上就忘記了哈哈,只能說練的還不夠,不過我個人認為確實這題不是那種一眼就能想到打表的題目,如果大家還想多刷幾道類似的打表找規律的題可以看看我之前總結的博客,這道題我也會新添加進去
藍橋杯常考的找規律題-CSDN博客
核心思路:
找規律(打表)+數學推理+排列組合
得到最后答案的方式:1.直接按計算器? 2.暴力求解2的冪次方? 3.快速冪? 4.位運算
思路詳解:
由題答案可能很大,結果要對1e9+7,當數據很大時我們要有打表找規律的意識。分析條件1:就是1到2025進行全排列,每個數只能用一次。分析條件2看我下圖草稿紙寫的推理會更清晰:
這里再附上打表的代碼和運行找到1013的截圖,建議大家自己打表找一找思路就很清晰了
#include<bits/stdc++.h>
using namespace std;int main()
{for(int i=1;i<=2025;i++){cout<<i<<':'<<(int)sqrt(i*i+2025)<<endl;}return 0;
}
接下來是通過排列組合的原理求解答案的推理如下圖:
得到答案的方式:
按計算器:
打開Windows自帶的計算器,左上角轉換為科學計算器然后直接計算即可得出答案
暴力求解代碼:
注意在計算過程中進行取模運算,防止計算中途數據過大而出現錯誤
#include<bits/stdc++.h> //填空題,答案是781448427
using namespace std;const int MOD=1e9+7;int main()
{int ans=1;for(int i=0;i<1012;i++){ans=(ans%MOD)*2%MOD; //防止爆int }cout<<ans<<endl;return 0;
}
快速冪代碼:
等我搞懂再補上
位運算代碼:
等我搞懂再補上