acwing 第63场周赛【2022.08.06】

2023-11-13

一、4503. 数对数量

1. 题目描述

在这里插入图片描述

2. 思路分析

签到题,只需暴力枚举出三个条件的整数对(x, y)的个数即可。

3. 代码实现

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int a, b, n;
    int res = 0;
    cin >> a >> b >> n;
    
    for (int i = 0; i <= a; i ++ ) 
    {
        for (int j = 0; j <= b; j ++ )
        if (i + j == n) res ++;
    }
    cout << res << endl;
    
    return 0;
}

二、4504. 字符串消除

1. 题目描述

在这里插入图片描述

2. 思路分析

  1. 使用栈进行维护,首先将第一个字符压入栈中,依次枚举每个字符
    • 如果栈不为空且该字符于栈顶元素相同,则栈顶元素出栈,并且ans++
    • 否则将该字符压入栈中;
  2. 如果ans为奇数,则先手必赢;如果ans为偶数,则先手必输。

3. 代码实现

#include <bits/stdc++.h>
#include <cstring>

using namespace std;

const int N = 1e5 + 10;

char a[N];
stack<char> stk;

int main()
{
    int res = 0;
    scanf("%s", a);

    stk.push(a[0]);
    for (int i = 1; i < strlen(a); i ++ )
    {
        if (stk.size() > 0 && a[i] == stk.top())
        {
            stk.pop();
            res ++;
        }
        else
        {
            stk.push(a[i]);
        }
    }
    if (res % 2 == 0) cout << "No" << endl;
    else cout << "Yes" << endl;

    return 0;
}

三、4505. 最大子集

1. 题目描述

在这里插入图片描述

2. 思路分析

提示:集合最大可能的大小是3,最小的大小不会小于1,三个数的情况是等差数列。

  1. 首先把所有数放入哈希集合;
  2. 枚举最小值,以及公差(最多30种公差),找到长度3以内的最长序列;
  3. 剪枝:找到长度为3的序列就直接结束算法。

3. 代码实现

#include <bits/stdc++.h>

using namespace std;

const int N = 200010, M = 1999997, INF = 0x3f3f3f3f;

int n;
int q[N], h[M];

int find(int x)
{
    int t = (x % M + M) % M;
    while (h[t] != INF && h[t] != x)
        if ( ++ t == M)
            t = 0;
    return t;
}

int main()
{
    scanf("%d", &n);
    for (int i = 0; i < n; i ++ ) scanf("%d", &q[i]);
    sort(q, q + n);

    memset(h, 0x3f, sizeof h);

    int res[3], s[3];
    int rt = 0, st = 0;
    for (int i = 0; i < n; i ++ )
    {
        for (int j = 0; j <= 30; j ++ )
        {
            int d = 1 << j;
            s[0] = q[i], st = 1;
            for (int k = 1; k <= 2; k ++ )
            {
                int x = q[i] - d * k;
                if (h[find(x)] == INF) break;
                s[st ++ ] = x;
            }
            if (rt < st)
            {
                rt = st;
                memcpy(res, s, sizeof s);
                if (rt == 3) break;
            }
        }
        if (rt == 3) break;
        h[find(q[i])] = q[i];
    }

    printf("%d\n", rt);
    for (int i = 0; i < rt; i ++ )
        printf("%d ", res[i]);

    return 0;
}

四、周赛总结

本次周赛只ac了前两道,第三题想复杂了就没有ac出来,争取下一次周赛ak。

关注博主不迷路,内容持续更新中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

acwing 第63场周赛【2022.08.06】 的相关文章

随机推荐

  • 我的世界java版怎么加整合包_我的世界Minecraft Mod(模组)安装指南

    前言 Mod的安装方法主要分为核心Jar文件手动覆盖安装和使用Forge加载 现在大多数的Mod基本都是依赖于Forge来加载Mod 不过对于刚接触我的世界的玩家来说 在安装Mod的时候也是一头雾水 导致安装Mod后 出现诸如游戏崩溃 黑屏
  • 【从零开始的Java开发】1-6-2 泛型:概述、泛型作为方法参数、自定义泛型、自定义泛型方法

    文章目录 泛型概述 泛型作为方法参数 自定义泛型 一个参数 两个参数 自定义泛型方法 总结 泛型概述 为什么要有泛型 在Java增加泛型之前 泛型程序设计使用继承来实现 坏处 需要强制转换 可向集合中添加任意类型的对象 存在风险 泛型的使用
  • 主干光缆线路的组网结构

    主干光缆是指连接主干光交与业务汇聚节点 以及主干光交之间的光缆 业务汇聚点指安装了OLT设备的节点 主干光交内的业务端口与业务汇聚点ODF间的光纤链路部分或全部是直连的 中间没有活动连接 主干光缆线路的组网结构一般分为 环形 树形和星形 1
  • 嵌入式Linux设备读取CPU温度的方法

    1 ARM 平台下 cat sys devices virtual thermal thermal zone0 temp62374 cat sys class thermal thermal zone0 temp 64036x86 平台下
  • vue项目配置rem移动端适配

    一 项目介绍 脚手架CLI vue cli Vue版本 2 6 11 移动UI组件库 Vant 2 10 14 CSS预处理器 sass 二 配置lib flexible插件 下载插件 npm i D lib flexible 导入 在sr
  • 据说,80%的人都搞不懂哈希算法 区块链 哈希算法

    本文约9000字 阅读 观看 需要52分钟 聊到区块链的时候也少不了会听到 哈希 哈希函数 哈希算法 是不是听得一头雾水 别急 这一讲我们来讲讲什么是哈希算法 哈希是一种加密算法 哈希函数 Hash Function 也称为散列函数或杂凑函
  • 车辆贷款违约预测

    1 案例介绍 国内某贷款机构的车贷业务面临借款人拖欠还款或拒不还款 导致该机构的不良贷款率居高不下的问题 该机构将部分贷款数据开放 诚邀大家帮助他们建立风险识别模型来预测可能违约的借款人 敏感信息已脱敏 给定某机构实际业务中的相关借款人信息
  • 数据库的4种隔离级别

    数据库事务的隔离级别有4种 由低到高分别为Read uncommitted Read committed Repeatable read Serializable 而且 在事务的并发操作中可能会出现脏读 不可重复读 幻读 下面通过事例一一阐
  • kafka 使用python消费consumer

    参考 python kafka 使用 大数据 kafka常见问题 kafka python之操作kafka Kafka基本了解 使用python读取consumer中的数据 安装kafka python pip install kafka
  • 常用邮箱、网盘地址列表

    常用邮箱 网盘地址列表 常用邮箱列表 126邮箱 http www 126 com Yeah邮箱 http www yeah net 雅虎邮箱 http mail cn yahoo com 新浪邮箱 http mail sina com c
  • Python Performance Matters

    Python Performance Matters cmd 不要重复定义数据类型 yappi cpu yappi cpu by Emery Berger Strange Loop 2022 cmd python3 m cProfile 不
  • 读书笔记2

    深度学习入门 基于Python的理论与实现 高清中文版 pdf 1 python基础 numpy matplotlib Batch Normalization Dropout Adam 图像识别 自然语言处理 语音识别 不闻不若闻之 闻之不
  • 经典始终是经典,从理论到实践的Java并发编程实战笔记

    并发编程式Java语言的重要特性之一 当然也是最难以掌握的内容 编写可靠的并发程序是一项不小的挑战 但是 作为程序员的我们 要变得更有价值 就需要啃一些硬骨头了 例如理解并发编程的基础理论和编程实践 今天给小伙伴们带来了一份Java并发编程
  • 《数据库系统概论》 第十章 数据库恢复技术

    事务是一系列的数据库操作 是数据库应用程序的基本逻辑单元 事务处理 transaction processing 技术主要包括数据库恢复技术和并发控制技术 10 1 事务的基本概念 事务 是用户定义的一个数据库操作序列 是一个不可分割的工作
  • 判断对象中是否存在某个字段

    hasOwnProperty 方法 var obj name 我是张三 obj hasOwnProperty name 输出true obj hasOwnProperty eag 输出false 注意 该方法可以判断对象是否含有某个属性 某
  • 如何获取微信服务号用户的openID

    1 进入微信公众号官网 并登入你的微信服务号 2 点击用户管理 进入后可以看到全部用户 3 点击用户头像 如下图所示 4 自动跳转到聊天界面 浏览器上方url中包含用户openID 画圈区域 如下图所示
  • 绝地淘沙显示进不去服务器,绝地国服遥遥无期 这款国产游戏却已经抢先登陆了!...

    原标题 绝地国服遥遥无期 这款国产游戏却已经抢先登陆了 绝地求生 国服遥遥无期 广大爱好者们磨刀霍霍 奈何无鸡可吃啊 好在西山居自研DIY生存竞技端游 自由禁区 近期刚刚开启测试 给苦等的玩家们一个好去处 从笔者的亲身体验来看 虽然游戏目前
  • 图书数据清洗——实验报告

    目录 图书数据清洗 1 图书数据清洗的概念 2 图书数据清洗及可视化的理论基础 3 图书数据清洗的现状及问题 4 图书数据清洗实验报告 1 读数据表 2 提取价格数值 3 提取评论数 4 提取星级数值 5 星级数值除以20 6 出版信息字符
  • “RFID与光伏板的完美融合:探索能源科技的新时代!“

    随着科技的不断发展 人类创造出了许多令人惊叹的发明 其中 RFID Radio Frequency Identification 技术的应用在各个领域日益广泛 最近的研究表明 将RFID技术应用于光伏板领域 不仅可以提高光伏板的效率 还可以
  • acwing 第63场周赛【2022.08.06】

    acwing第63场周赛 2022 08 06 一 4503 数对数量 1 题目描述 2 思路分析 3 代码实现 二 4504 字符串消除 1 题目描述 2 思路分析 3 代码实现 三 4505 最大子集 1 题目描述 2 思路分析 3 代