Educational Codeforces Round 132 (Rated for Div. 2) 补题

本文分享了作者如何通过解决两道简单的Div2级别算法题来提升自身技术水平,并强调了稳固基础和逐步挑战的重要性。第一题涉及门与钥匙问题,第二题则应用了前缀和解决区间伤害问题。同时提到了可能的错误点和debug技巧。
摘要由CSDN通过智能技术生成

以我现在的水平最多只能做两个div 2 的题,现在就是要将两个题做稳固,慢慢的向第三个题发展,如果div 2做出两个我们就先不补题 , 所以一般我现在就只会补两个题,技术还在慢慢加强。

第一题

题意:这个题目的意思是总共有三扇门,每扇门的后面都会有一把钥匙,这把钥匙对应的编号就是可以开哪扇门,所以这题很简单一般都会,只要进去两次就可以把三扇门给打开。

输入 

第一行 : 一共有 t 个数据;

第二行 : 每次给你一把门的钥匙;

第三行: 给你每扇门后面的钥匙编号;

#include <iostream>
 
using namespace std;
 
 
const int N = 10010;
int a[N];
 
int main()
{
    int t;
    cin >> t;
    while(t --)
    {   int flag = 0;
        int n;
        cin >> n;
        for(int i = 1; i <= 3 ; i ++) cin >> a[i];
        if(a[n])
        {
            if(a[a[n]])
            {
                flag = 1;
            }
        }
        if(flag == 1) cout << "YES"<<endl;
        else cout <<"NO"<<endl;
        
    }
    
    
    return 0;
}

这一题比较简单,所以就按照原本思想就好了。

第二题

题意:这个题的意思有一段区间,你可以在这个区间上的任意两个端点来飞,但是如果上一个点比下一个点大的话,就是要承受 坠落的伤害 。

题解:这个题目很明显就是用前缀和来解题,只有当前面大于后面才会受到伤害,根据题目的意思我们不仅仅要从前面往后面求前缀和还要从后面往前面求前缀和,再判断这给定我们要求的区间是从哪边到哪边来求解。

输入

第一行 :给定 n(数组的元素个数) 和 m (询问个数)

第二行:数组元素的值

剩下m行:就是 m 组询问

#include <iostream>
 
using namespace std;
typedef long long LL;
const int N = 100010;
LL a[N],s[N],t[N];
 
int main()
{
    int n,m;
    cin  >> n >> m;
    for(int i = 1; i <= n ; i ++) cin >> a[i];
    
    for(int i = 2; i <= n ; i ++) 
    {
        if(a[i - 1] > a[ i]) s[i] = s[i -1] + a[i - 1] -a[i];
        else s[i] = s[i - 1];
    }
    for(int i = n - 1 ; i >= 1 ; i --)
    {
        if(a[i + 1] > a[i]) t[i] = t[i + 1] + a[i + 1] - a[i]; 
        else t[i] = t[i + 1];
    }
 
    for(int i = 1 ; i <= m ; i ++)
    {
        int a,b;
        cin >> a >> b;
        if(a < b) cout << s[b] - s[a]<<endl;
        else cout << t[b] - t[a] <<endl;
    }
    
    
    return 0;
}

这个题目的下标有点容易犯错误,所以可以尝试 debug , 哈哈哈

加油 ....

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值