首页 > 其他分享 >LGOI 2023 游记

LGOI 2023 游记

时间:2023-06-04 22:00:59浏览次数:38  
标签:int printf 个数 方格 2023 游记 圆环 vec LGOI

前言

比赛是深圳市龙岗区的小学生信息学奥林匹克竞赛,下面讲题时会概括题目,要原题的找我,如果要的人多会放在评论区。

说真的,没想到疫情三年后的第一场比赛就这么水,8:30 进去的,9:10 出来的,40 分钟光速 AK。

1. 篮球赛比分

给你一场篮球比赛的得分情况,如 A1B3A2B1A3B3B1# 表示 A 队分别得到了 1 分、2 分、3 分,共 6 分,B 队分别得到了 3 分、1 分、3 分、1 分,共 8 分。每条记录以 # 结束。输出 A 队和 B 队的得分,用一个空格分隔开。

用 2 个变量分别计算 AB 队的得分,模拟一下完事。

2. 重复出现的整数的个数

给你一些不超过 \(1000\) 的正整数,找出重复出现的整数个数。

首先看到数据规模不大于 \(1000\) 就很容易想到,用一个 \(1001\) 项的数组存放每一个数字出现的次数(如a [100] 代表 100 出现的次数),最后输出时判断次数大于 \(1\)(重复)时输出垓数。

3. 圆环上的数的和

小龙把 \(n\) 个数放在一个圆环上(首尾相连),现给定 \(m\),求圆环上连续 \(m\) 个数最大的和。

虽然题目说得天花乱坠,但是我们可以发现,题目实际上是让我们对圆环的所有可能的连续的 \(m\) 个数的和求最大值。

4. 蛙跳

青蛙一次能跳 \(1 \sim 3\) 个方格,请问它跳到第 \(n\) 个方格有几种跳法?

设到达方格 \(i\) 的跳法有 \(S_i\) ,由于要到达方格 \(i\) 只能从 \(i\) 的前面 \(3\) 个方格过来,所以 \(S_i = S_{i-1} + S_{i-2} + S_{i-3}\) 。

思路有了,下面开始解题。

递归法

我们可以定义一个函数,用于计算 \(S_i\) ,记得设置递归终止条件!

int calc(int i)
{
    if (i <= 2)
    {
        return 1;
    }
    else if (i == 3)
    {
        return 2;
    }
    else
    {
        return calc(i - 1) + calc(i - 2) + calc(i - 3);
    }
}

最后在主函数中输出 calc(i) 即可。

递推法(DP法)

我们可以发现递归法虽简单,但由于调用栈在 \(i\) 大到一定程度时会过于庞大,且有多次重复运算(如 \(i\) 为 \(10\) 时 calc(4) 就调用了至少 \(16\) 次),那有没有解决的办法呢?

有!我们把之前的计算结果记下来不就行了,计算出一个我就记一个,时间复杂度直接下降到 \(O(n)\) 。

直接出代码:

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n;
    scanf("%d", &n);
    vector<int> vec;
    vec.resize(n);
    vec[0] = 1;
    vec[1] = 1;
    vec[2] = 2;
    for (int i = 3; i < n; ++i)
    {
        vec[i] = vec[i - 1] + vec[i - 2] + vec[i - 3];
    }
    printf("%d", vec[n - 1]);
    return 0;
}

5. 旺财开关灯

有一种灯,按一下开关会反转它的状态,如开灯变关灯,再按一下又开灯。现在有 \(n\) 盏灯,每一盏一开始都是灭的,但淘气给所有灯按了若干下,请求出所有灯现在的状态(亮、灭)。

首先,这盏神奇的灯有一个最基本的性质:按一下开关会反转它的状态。在此基础上,我们知道,给同一盏灯按偶数下会使灯的状态保持不变。所以如果灯 \(A\) 按了偶数下,根据上面的结论,它的状态不变,所以它仍然熄灭;如果按了奇数下,同理,它的状态会反转,也就是由开始的“灭”变为“亮”。

直接上代码:

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n;
    scanf("%d", &n);
    for (int i = 0; i < n; ++i)
    {
        int m;
        scanf("%d", &m);
        if (m & 1)  // 更快的奇偶判断方式
        {
            printf("1");  // 亮
        }
        else
        {
            printf("1");  // 灭
        }
    }
    return 0;
}

标签:int,printf,个数,方格,2023,游记,圆环,vec,LGOI
From: https://www.cnblogs.com/laialaodi/p/17456082.html

相关文章

  • 2023.6.4拷逝
    #T1首先题目没有强制让我们一起算$k^{r(p)}+r^2(p)$,我们可以把它拆成两部分,一部分是$k^{r(p)}$,一部分是$r^2(p)$。考虑递推求解两个部分。先看第一个部分。设$n$的全排列的逆序对个数分别是$p_1,p_2,...,p_{n!}$,并假设我们已经知道$k^{r(p)}$的值。现在新增一个数$n......
  • 连网技术与网络管理2023-06-03 动态路由
    路由协议的类型主要可以分为以下三类:距离矢量协议(DistanceVectorProtocols):这类协议使用跳数(hopcount)作为衡量路径的度量标准。每个路由器仅知道自己相邻路由器的信息,并通过交换路由表来了解整个网络的路由信息。常见的距离矢量协议包括经典的RoutingInformationProtoco......
  • 云锵投资 2023 年 5 月简报
    2023年5月云锵投资团队月报:摘要本月量化基金策略业绩:中;本月量化股票策略业绩:良;(优良中差,表明全国排名四位分)云锵投资概述云锵量化投资包含量化投基、量化投股。量化投基使用自动化程序进行量化选基。其中包含了多个策略。本集合投资目标是通过选择优质基金,来获取更高的......
  • 2023-06-04:你的音乐播放器里有 N 首不同的歌, 在旅途中,你的旅伴想要听 L 首歌(不一定不
    2023-06-04:你的音乐播放器里有N首不同的歌,在旅途中,你的旅伴想要听L首歌(不一定不同,即,允许歌曲重复,请你为她按如下规则创建一个播放列表,每首歌至少播放一次,一首歌只有在其他K首歌播放完之后才能再次播放。返回可以满足要求的播放列表的数量。由于答案可能非常大,请返回它......
  • 2023-06-04:你的音乐播放器里有 N 首不同的歌, 在旅途中,你的旅伴想要听 L 首歌(不一定不
    2023-06-04:你的音乐播放器里有N首不同的歌,在旅途中,你的旅伴想要听L首歌(不一定不同,即,允许歌曲重复,请你为她按如下规则创建一个播放列表,每首歌至少播放一次,一首歌只有在其他K首歌播放完之后才能再次播放。返回可以满足要求的播放列表的数量。由于答案可能非常大,请返回它模10^9......
  • 2023_6_2
    昨天忘记保存了,痛失笔记https://blog.csdn.net/zhaohongfei_358/article/details/122797190标量、向量和张量之间的区别:https://blog.csdn.net/weixin_44010756/article/details/119940429标量:一个单独的数向量:一列数,张量:给予向量和矩阵的推广,标量可视为零阶张量,矢量是一阶......
  • 2023年中总结--没啥思路
    回了两趟家? 清明,五一 学雅思,背单词,花了很大精力,还是达不到90%的正确率  得与失  5月MSI比赛,看了 BLGVSGG ; BLGVST1; JDGVST1; BLG VSG2   4月 读书《万万没想到》《如何阅读一本书》电影《何以为家》《驭风男孩》《黑洞频率》  ......
  • C/C++数据结构设计题[2023-06-04]
    C/C++数据结构设计题[2023-06-04]停车场模拟管理程序的设计与实现1.设计目的理解线性表的逻辑结构和存储结构,进一步提高使用理论知识指导解决实际问题的能力。2.问题描述设停车场只有一个可停放几辆汽车的狭长通道,只有一个大门可供汽车进出。汽车在停车场内按车辆到达的先后顺......
  • 2023年6月3日,枚举,枚举底层实现
    1.枚举1.枚举枚举是一种受限制的类,枚举第一行必须创建对象,枚举不能显示继承父类(枚举没有父类),所有的自定义枚举类默认继承Enum类packagecom.wz.enum01;publicenumSeason{spring("春天","春雨绵绵"),summer("夏天","烈日炎炎"),autumn("秋天","硕果累累"),......
  • 【闲话】2023.06.04
    简单记一下最近的事。期末进步了,虽然还是不满意吧。尤其是物理和语文。但是!我英语小作文满昏!没考过这样的,孩子乐傻了。高考放高考假好耶。但是六点半的早读是一败笔。祝学长学姐高考顺利!后面忘了但是塞尔达传说:王国之泪是……......