
2022年蓝桥杯c++ b组
三粒小金子
第十四届蓝桥杯河南省省一等奖
展开
-
重生之我在蓝桥杯前两天,做前几年的原题
想到这一点了,不过想的多了,还想了回来的情况,就懵逼了。后面做的题没时间记录思路了哈哈,就这样结束吧。每数2会进一位,320,两位,所以是2*2。sprintf 和 ++ d 的用法。自己做的(样例过了7个,7/11)y总的思路,特别清晰!直接看i这个点的情况,厉害。自己做没做出来qwq。原创 2023-04-07 21:41:48 · 126 阅读 · 1 评论 -
acwing 4407 扫雷 2022/05/08
因为x,y的值1e9,所以要用longlong来存 思路是暴力枚举这个点周围有没有可以引爆的地雷,如果在引爆的过程中,引爆了其他的范围的地雷,也会再在另一个范围内去爆炸 存x,y,利用哈希表降低数值,然后存进下标 然后m次询问,来这个点爆炸探求范围内每一个爆炸点是否能有地雷爆炸,如果有就以这个雷的爆炸范围为爆炸范围去找地雷爆炸 如果这个位置爆炸了,就把st布尔数组变成true 最后遍历n个地雷,如果它的st为true, 则这个地雷被炸,res++ 最后输出爆炸地雷数 res #includ.原创 2022-05-08 00:42:32 · 229 阅读 · 0 评论 -
acwing 4406 积木画 2022/05/04
4个状态转移到四个状态,最多有16种情况 然后第一行作为个位,在i列摆积木,看i+1的状态,有积木为1,没有为0 当i列都是1,都有积木的时候,就不用在i列摆了,所以只有一种情况,在0的位置 这个矩阵的行是0,1,2,3是第i列的所有情况,然后看是否能转移到0,1,2,3的i+1的情况,如果能就加一,但是这道题每次能转移到的时候都只有一种,所以在对应位置为1。 后来算f【n+1】【0】的时候,就是枚举每一列,然后枚举所有情况,看从j状态能不能更新到第k状态 ...原创 2022-05-04 19:00:49 · 324 阅读 · 0 评论 -
acwing 4405 统计子矩阵 2022/04/30
一维的前缀和加双指针 r - l + 1 为什么是所有的结果,因为双指针,它存的时候,是原来的单个矩阵加后来的单个矩阵和合并矩阵 比如说,1 + 2 , 就是第一列和第二列的res结果,当左右指针是1 2 的时候,1 + 2 包括了3,就是第一列和第二列合并的矩阵 代码: #include<iostream> #include<cstring> #include<algorithm> using namespace std ; typedef long lo原创 2022-04-30 20:32:03 · 328 阅读 · 0 评论 -
acwing 4403 修剪灌木 2022/04/28
就是每一个灌木只有两种情况,最大值在两次被裁剪之间 #include<iostream> #include<cstring> #include<algorithm> using namespace std ; int main() { int n ; cin >> n ; int res ; for(int i = 1 ; i <=n ; i++) { res = max(n-i ,...原创 2022-04-28 18:33:39 · 173 阅读 · 0 评论 -
acwing 4402 刷题统计 2002/04/28
填空第二道题 012 算的话 14 不算4 #include<iostream> using namespace std ; typedef long long LL ; int main() { LL a , b , n , s ; cin >> a >> b >> n ; LL d[] = {a,a,a,a,a,b,b} ; s = a * 5 + 2 * b ; LL res = n / s * 7...原创 2022-04-28 17:53:57 · 206 阅读 · 0 评论