第十六届蓝桥杯 2025 C/C++组 客流量上限
目录
题目:
题目描述:
题目链接:
思路:
打表找规律:
核心思路:
思路详解:
得到答案的方式:
按计算器:
暴力求解代码:
快速幂代码:
位运算代码:
题目:
题目描述:
题目链接:
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;
}
快速幂代码:
等我搞懂再补上
位运算代码:
等我搞懂再补上