第十三届蓝桥杯软件大赛A组题目——个人解析

本文为个人对题目进行解析和理解,可能存在错误及偏差,如有错误请指出,我会及时更改
由于本人代码能力相比同龄人较差,无法保证所有题目的解析或最优解,请酌情参考
此博客一次性无法全部更新完,后续按个人心情更新

试题A:裁纸刀

在这里插入图片描述
解析: 此题计算行列即可,n行m列共需剪4次外围,和n-1次行,n(m-1)次列,则共需剪nm+3次,题目为20行22列,则答案为443次

试题B:灭鼠先锋

在这里插入图片描述

解析:

试题C:求和

在这里插入图片描述
解析: 本题难度不大,但需考虑可能会超出int上界以及时间复杂度问题,此处我使用前缀和进行解题

#include <iostream>
using namespace std;
const int N = 200010;
int nums[N];
int a[N];
typedef long long LL;

int main()
{
    int n;
    cin >> n;
    cin >> a[0];
    nums[0] = a[0];
    for(int i = 1 ; i < n ; i ++)
    {
        cin >> a[i];
        nums[i] = a[i] + nums[i - 1];
    }
    LL ans = 0;
    for(int i = 0 ; i < n ;i ++)
    {
        ans += a[i] * (nums[n - 1] - nums[i]);
    }
    cout << ans;
    
    
    return 0;
}

试题D:选数异或

在这里插入图片描述

试题E:爬树的甲壳虫

在这里插入图片描述

试题F:青蛙过河

在这里插入图片描述

试题G:最长不下降子序列

在这里插入图片描述

试题H:扫描游戏

在这里插入图片描述

试题I:数的拆分

在这里插入图片描述

试题J:推导部分和

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值