Good Bye 2023

news2025/1/20 16:25:10

在这里插入图片描述

Good Bye 2023

Good Bye 2023

A. 2023

题意:序列a中所有数的乘积应为2023,现在给出序列中的n个数,找到剩下的k个数并输出,报告不可能。

思路:把所有已知的数字乘起来,判断是否整除2023,不够的k补1,注意当前乘积已经大于2023的情况。

AC code:

void solve() {
    cin >> n >> k;
    int now = 1;
    for(int i = 0; i < n; i ++) {
    int x; cin >> x;
    a[i] = x;
    now *= x;
    }
    if(2023 % now || now > 2023) {
        cout << "NO" << endl;
        return;
    }
    cout << "YES" << endl;
    k -= 1;
    while(k --) cout << 1 << " ";
    cout << 2023 / now << endl;
        
    //cout << "Good Bye 2023" << endl;
}

B. Two Divisors

题意:给出正整数的两个最大的除数a和b,求x。

思路:首先是找出a和b的最小公倍数lcm,然后判断lcm是否为较大的除数:

如果是,说明a是b的除数,且a和b还是x最大的两个除数,当前的最小公倍数是b,b/a为当前b最大能放大的倍数,则x=b*(b / a);

否则,x=lcm。

AC code:

int gcd (int a, int b) {
    if(b) while((a%=b) && (b%=a)); return a + b;
}
 
void solve() {
    int a, b; cin >> a >> b;
    int lcm = a * b / gcd(a, b);
    if (lcm != b) {
        cout << lcm << endl;
        return;
    }
    cout << b * b / a << endl;
}

C. Training Before the Olympiad

题意:

在一个长度为n的正整数数组中,A和B轮流操作:

  • 每次选择两个不同的索引i和j,然后在数组中删除 a i a_i ai a j a_j aj,在数组中加入[( a i a_i ai+ a j a_j aj)/2] *2,A先起手,直到数组元素为1游戏结束;

  • A目标是最大化最终数字,B目标是最小化最终数字;

  • 现在针对数组a的每个前缀数字进行操作,每个前缀的最终数字是多少。

思路:

看奇偶:

  • 每次操作选择的两元素奇偶性相同则操作不会影响最终结果,否则会对最终结果-1;
  • 奇数才是影响最终结果的关键,AB无论怎么选择,一次操作后的数字必定是偶数;
  • 对A来说是尽可能选择奇偶性相同的元素,对B则是选择奇偶性不同的元素来缩小最终结果:
  • A优先选择成对的奇数来减少奇数的数量,一次减少2个奇数,选择一个奇数一次减少1个奇数:
    • 首先前缀和奇数的数量;
    • 各一轮下来最多消灭三个奇数,一次结果-1,再看多出的奇数若为1结果额外-1。

AC code:

void solve() {
    cin >> n;
    vector<int> cnt(n + 1, 0);
    vector<int> sum(n + 1, 0);
    for (int i = 1; i <= n; i ++) {
        cin >> a[i];
        sum[i] = sum[i - 1] + a[i];
        cnt[i] = cnt[i - 1] + (a[i] % 2 != 0);
    }
    for(int i = 2; i <= n; i ++) {
        if(cnt[i] == 1){
            sum[i] -= 1;
            continue;
        }
        sum[i] -= (cnt[i] / 3) + (cnt[i] % 3 == 1);
    }
 
    for(int i = 1; i <= n; i ++) 
        cout << sum[i] << " ";
    cout << endl;
}

D. Mathematical Problem

题意:找出n个n位数(n为奇数),每个数满足各数位的组成的集合相同,且每个数都是一个平方数;

思路:

map打表找规律,会发现神奇的事情:

n = 3
169
196
961
n = 5
10609
16900
19600
61009
90601
96100
n = 7
1006009
1060900
1690000
1960000
6100900
9006001
9060100
9610000
n = 9
100060009
100600900
106090000
169000000
196000000
610090000
900060001
900600100
906010000
961000000
......

然后就是字符串的操作了…

AC code:

void solve() {
    string cnt = "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
    cin >> n;
    if (n == 1) {
        cout << 1 << endl;
        return;
    }
    cout << "196" << cnt.substr(0, max((LL)0, n - 3)) << endl;
    for (int i = 0; i < n / 2; i ++) {
        cout << '1' << cnt.substr(0, i) << '6' << cnt.substr(0, i) << '9' << cnt.substr(0, max((LL)0, n - 3 - 2 * i)) << endl;
        cout << '9' << cnt.substr(0, i) << '6' << cnt.substr(0, i) << '1' << cnt.substr(0, max((LL)0, n - 3 - 2 * i)) << endl;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1347954.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

掌握C++11标准库(STL):理解STL的核心概念

深入探索C11标准库STL&#xff1a;新特性和优化技巧 一、前言二、容器简介三、迭代器简介四、map与unordered_map&#xff08;红黑树VS哈希表&#xff09;4.1、map和unordered_map的差别4.2、优缺点以及适用处4.3、小结 五、总结 一、前言 STL定义了强大的、基于模板的、可复用…

海康visionmaster-渲染控件:渲染控件加载本地图像的方法

描述 环境&#xff1a;VM4.0.0 VS2015 及以上 现象&#xff1a;渲染控件如何显示本地图像&#xff1f; 解答 思路&#xff1a;在 2.3.1 中&#xff0c;可以通过绑定流程或者模块来显示图像和渲染效果。因此&#xff0c;第一步&#xff0c; 可以使用在 VM 软件平台中给图像源模…

【网络面试(1)】浏览器如何实现生成HTTP消息

我们经常会使用浏览器访问各种网站&#xff0c;获取各种信息&#xff0c;帮助解决工作生活中的问题。那你知道&#xff0c;浏览器是怎么帮助我们实现对web服务器的访问&#xff0c;并返回给我们想要的信息呢&#xff1f; 1. 浏览器生成HTTP消息 我们平时使用的浏览器有很多种&…

LeetCode每日一题.04(不同路径)

一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xff09;。 问总共有多少条不同的路径&#xff1f; 示例 1…

Redis(认识NoSQL,认识redis,安装redis,redis桌面客户端,redis常见命令,redis的Java客户端)

文章目录 Redis快速入门1.初识Redis1.1.认识NoSQL1.1.1.结构化与非结构化1.1.2.关联和非关联1.1.3.查询方式1.1.4.事务1.1.5.总结 1.2.认识Redis1.3.安装Redis1.3.1.依赖库1.3.2.上传安装包并解压1.3.3.启动1.3.4.默认启动1.3.5.指定配置启动1.3.6.开机自启 1.4.Redis桌面客户端…

【Linux操作系统】探秘Linux奥秘:文件系统的管理与使用

&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《操作系统实验室》&#x1f516;诗赋清音&#xff1a;柳垂轻絮拂人衣&#xff0c;心随风舞梦飞。 山川湖海皆可涉&#xff0c;勇者征途逐星辉。 目录 &#x1fa90;1 初识Linux OS &…

Vue(三):Vue 生命周期与工程化开发

2023 的最后一篇博客&#xff0c;祝大家元旦快乐&#xff0c;新的一年一起共勉&#xff01; 06. Vue 生命周期 6.1 基本介绍 生命周期就是一个 Vue 示例从 创建 到 销毁 的整个过程&#xff0c;创建、挂载、更新、销毁 有一些请求是必须在某个阶段完成之后或者某个阶段之前执行…

C++ 递归函数 详细解析——C++日常学习随笔

1. 递归函数 1.1 递归函数的定义 递归函数&#xff1a;即在函数体中出现调用自身的函数&#xff0c;即函数Func(Type a,……)直接或间接调用函数本身&#xff1b; 递归函数&#xff1a;在数学上&#xff0c;关于递归函数的定义如下&#xff1a;对于某一函数f(x)&#xff0c;其…

多维时序 | MATLAB实现SSA-CNN-GRU-SAM-Attention麻雀算法优化卷积网络结合门控循环单元网络融合空间注意力机制多变量时间序列预测

多维时序 | MATLAB实现SSA-CNN-GRU-SAM-Attention麻雀算法优化卷积网络结合门控循环单元网络融合空间注意力机制多变量时间序列预测 目录 多维时序 | MATLAB实现SSA-CNN-GRU-SAM-Attention麻雀算法优化卷积网络结合门控循环单元网络融合空间注意力机制多变量时间序列预测预测效…

计算机网络:知识回顾

0 本节主要内容 问题描述 解决思路 1 问题描述 通过一个应用场景来回顾计算机网络涉及到的协议&#xff08;所有层&#xff09;。如下图所示场景&#xff1a; 学生Bob将笔记本电脑用一根以太网电缆连接到学校的以太网交换机&#xff1b;交换机又与学校的路由器相连&#xf…

Windows10系统的音频不可用,使用疑难解答后提示【 一个或多个音频服务未运行】

一、问题描述 打开电脑&#xff0c;发现电脑右下角的音频图标显示为X&#xff08;即不可用&#xff0c;无法播放声音&#xff09;&#xff0c;使用音频自带的【声音问题疑难解答】&#xff08;选中音频图标&#xff0c;点击鼠标右键&#xff0c;然后选择“声音问题疑难解答(T)”…

【Java进阶篇】 ClassNotFoundException和NoClassDefFoundError的区别是什么?

ClassNotFoundException和NoClassDefFoundError的区别 ✔️典型解析✔️扩展知识仓✔️NoSuchMethodError ✔️典型解析 ClassNotFoundException是一个受检异常 (checked exception) 。他通常在运行时&#xff0c;在类加载段尝试加载类的过程中&#xff0c;找不到类的定义时触发…

每个AI/ML工程师必须了解的人工智能框架和工具

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

数据结构与算法教程,数据结构C语言版教程!(第二部分、线性表详解:数据结构线性表10分钟入门)三

第二部分、线性表详解&#xff1a;数据结构线性表10分钟入门 线性表&#xff0c;数据结构中最简单的一种存储结构&#xff0c;专门用于存储逻辑关系为"一对一"的数据。 线性表&#xff0c;基于数据在实际物理空间中的存储状态&#xff0c;又可细分为顺序表&#xff…

PyTorch的Tensor(张量)

一、Tensor概念 什么是张量&#xff1f; 张量是一个多维数组&#xff0c;它是标量、向量、矩阵的高维拓展 Tensor与Variable Variable是torch.autograd中的数据类型&#xff0c;主要用于封装Tensor&#xff0c;进行自动求导。 data: 被包装的Tensorgrad: data的梯度&…

windows进行udp端口转发,解决项目中服务器收不到组播数据的问题

说明 windows7的netsh interface portproxy命令只支持tcp端口转发 如果要进行udp端口转发可以使用sokit 运行sokit 端口转发&#xff08;以为tcp作为讲解&#xff0c;udp类似&#xff09; 选择转发器 输入监听地址&#xff08;SRC地址&#xff09;和端口 输入转发地址&am…

【Linux】Linux 下基本指令 -- 详解

无论是什么命令&#xff0c;用于什么用途&#xff0c;在 Linux 中&#xff0c;命令有其通用的格式&#xff1a; command [-options] [parameter] command&#xff1a;命令本身。-options&#xff1a;[可选&#xff0c;非必填]命令的一些选项&#xff0c;可以通过选项控制命令的…

MySQL存储过程、创建、调用、查看、删除、存储过程与函数的额区别、缺陷等、存储过程写分页等

MySQL存储过程 1、存储过程的定义2、存储过程使用的意义3、存储过程的创建4、存储过程的调用5、存储过程的查看6、存储过程的删除7、存储及过程与函数的区别8、存储过程的缺陷9、存储过程写分页 1、存储过程的定义 存储过程&#xff1a;存储过程&#xff08;Stored Procedure&…

【Java EE初阶三 】线程的状态与安全(下)

3. 线程安全 线程安全&#xff1a;某个代码&#xff0c;不管它是单个线程执行&#xff0c;还是多个线程执行&#xff0c;都不会产生bug&#xff0c;这个情况就成为“线程安全”。 线程不安全&#xff1a;某个代码&#xff0c;它单个线程执行&#xff0c;不会产生bug&#xff0c…

【第5期】前端Vue使用Proxy+Vuex(store、mutations、actions)跨域调通本地后端接口

本期简介 本期要点 本地开发前后端如何跨域调用全局请求、响应处理拦截器处理封装HTTP请求模块编写API请求映射到后端API数据的状态管理 一、 本地开发前后端如何跨域调用 众所周知&#xff0c;只要前端和后端的域名或端口不一样&#xff0c;就存在跨域访问&#xff0c;例如&…