CF938Div3(A-F)

A:

买n个酸奶,一次一瓶a元,一次买两瓶可以优惠价b元,也可以a元,问恰好买n瓶需要多少钱.

void solve() {int n, a, b;cin >> n >> a >> b;int ans = min(a * n, n / 2 * b + n % 2 * a);cout << ans << endl;
}

B:

给你一个数组,问能否构造出下图的东西.

此题c,b皆为正数,所以左上角数字肯定是排序后的第一个数字.

然后去构造出:

a[1][1]+i*c+j*d

存到数组,排序,判断是否相等

void solve() {int n, c, d;vector<int>a;cin >> n >> c >> d;for (int i = 1; i <= n * n; i++) {int x; cin >> x;a.push_back(x);}sort(a.begin(), a.end());int p = a[0];vector<int>b;for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {int x = p + i * c + j * d;b.push_back(x);}}sort(b.begin(), b.end());if (a == b)cout << "YES" << endl;else cout << "NO" << endl;
}

C:

 先从左边攻击,所以左边的攻击次数是\left \lceil \frac{k}{2}\right \rceil

右边攻击次数\left \lfloor \frac{k}{2} \right \rfloor

去从左边开始枚举,如果小于等于攻击次数,ans++,同时攻击次数减去a[i],再把a[i]设置为1e18,避免从右边又计算一次.否则a[i]大于攻击次数,a[i]-=L.退出.

从右边做一次即可.

void solve() {int n, k; cin >> n >> k;vector<int>a(n + 1); int ans = 0;for (int i = 1; i <= n; i++)cin >> a[i];int L = (k + 1) / 2;int R = (k / 2);for (int i = 1; i <= n; i++) {if (a[i] <= L) {ans++; L -= a[i]; a[i] = 1e18;}else {a[i] -= L;break;}}for (int i = n; i >= 1; i--) {if (a[i] <= R) {ans++; R -= a[i];a[i] = 1e18;}else {cout << ans << endl;return;}}cout << ans << endl;
}

D:

D一开始我外层循环,内层双指针T了,看来是个滑动窗口的思想

void solve() {int n, m, k; cin >> n >> m >> k;vector<int>a(n + 1);vector<int>b(m + 1);int ans = 0; int now = 0;for (int i = 1; i <= n; i++)cin >> a[i];for (int j = 1; j <= m; j++)cin >> b[j], c[b[j]]++;//c数组记录b[j]出现的次数for (int i = 1; i <= n; i++) {//如果a[i]在c中不为0(既b数组中出现过)//并且a[i]这个数字在d这个窗口的出现次数小于//now++if (c[a[i]]&&d[a[i]] < c[a[i]]) {now++;}//进来一个d[a[i]]++;//窗口长度为m i-m>=1 表示肯定要弹出一个了if (i - m >= 1) {//左边弹出d[a[i - m]]--;//[1 2 3] 4---->1 [2 3 4]//1 2 3//例如这个例子 1弹出 所以这个窗口1的数量小于c数组 配对数字--if (d[a[i - m]] < c[a[i - m]])now--;}//i>=m是因为题目要求窗口必须m的大小 显然i在m之前无法形成大小为m的窗口(i是右端点)if (i >= m && now >= k)ans++;}cout << ans << endl;//注意这里只需要把有值的清空 不然1e6TLEfor (int i = 1; i <= n; i++) {d[a[i]] = 0;}for (int i = 1; i <= m; i++) {c[b[i]] = 0;}
}

F:

有1,2,3,4,四个数字,输入四个数字的个数,如果异或和等于0,则Bob获胜,每次游戏结束,可以删去掉一个数字,继续游戏,直到为空.

例如2 2 2 0这个例子,不操作赢一次,0 2 2 0两次,0 0 2 0三次.结束

请注意:是不可以0 0 0 0

题意纯属nt:比如2 2 2 0这个例子,Bob胜利有以下情况

2 2 2 0,0 2 2 0,0 0 2 0    

2 2 0 0,0 2 0 0,2 0 0 0

这样理解是错误的,此题不是说Bob有几种胜利的方式,而是在一局游戏中,最优操作得到的胜利次数.

比如上面的[0 2 2 0]和[2 2 0 0]在一局游戏中是不能都得到的.因为这是一局游戏,如果得到[0 2 2 0]就必须删除一号位的数字,那么一号位的数字被删除,又怎么能得到[2 2 0 0]呢?

可以单独考虑每个数字,例如[5 0 0 0]答案显然是2。

可以得知ans+=pi/2

但是可能[1 1 1 0],[5 3 3],这种本来就是异或为0,共同特征是a*b*c%2==1

void solve() {int a, b, c, d; cin >> a >> b >> c >> d;int ans = 0;ans += a / 2 + b / 2 + c / 2 + d / 2 + a * b * c % 2;cout << ans << endl;
}

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

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

相关文章

AWVS/Acunetix Premium V24.3.2403高级版漏洞扫描器

前言 Acunetix Premium 是一种 Web 应用程序安全解决方案&#xff0c;用于管理多个网站、Web 应用程序和 API 的安全。集成功能允许您自动化 DevOps 和问题管理基础架构。 Acunetix Premium&#xff1a;全面的 Web 应用程序安全解决方案 Web 应用程序对于企业和组织与客户、…

Vue 大文件切片上传实现指南包会,含【并发上传切片,断点续传,服务器合并切片,计算文件MD5,上传进度显示,秒传】等功能

Vue 大文件切片上传实现指南 背景 在Web开发中&#xff0c;文件上传是一个常见的功能需求&#xff0c;尤其是当涉及到大文件上传时&#xff0c;为了提高上传的稳定性和效率&#xff0c;文件切片上传技术便显得尤为重要。通过将大文件切分成多个小块&#xff08;切片&#xff0…

【Python 基础知识课程】Python的第一个程序

Python 简介 Python 是一种功能强大且用途广泛的编程语言&#xff0c;广泛用于数据科学、Web 开发、自动化等高需求领域。 幸运的是&#xff0c;对于初学者来说&#xff0c;它也是一种很好的学习语言&#xff0c;因为Python代码更容易阅读和编写。它的简单性使其成为初学者的完…

【Qt】:窗口

窗口 一.概述二.菜单栏1.一个简单的菜单2.添加快捷键3.嵌套子菜单4.添加下划线5.添加图标 三.工具栏1.创建一个简单的工具栏2.设置工具栏的停靠位置 四.状态栏五.浮动窗口 一.概述 Qt窗口是通过QMainWindow类来实现的。 QMainWindow是一个为用户提供主窗口程序的类&#xff0c…

hive metatool 使用说明

metatool 使用说明 usage: metatool-dryRun Perform a dry run ofupdateLocation changes.When runwith the dryRun optionupdateLocation changes aredisplayed but not persisted.dryRun is valid only with theupdateLocation option.-ex…

Utilize webcam to capture photo with camera

1. Official Guide& my github Official course my github 2. Overcome Webcam js Error in Chrome: Could not access webcam link 直接把代码拷贝到本机的下述目录下 To ignore Chrome’s secure origin policy, follow these steps. Navigate to chrome://flags/#un…

第十八节 JDBC流ASCII和二进制数据

PreparedStatement对象可以使用输入和输出流来提供参数数据。能够将整个文件放入可以容纳大值的数据库列&#xff0c;例如CLOB和BLOB数据类型。 有以下方法可用于流式传输数据 - setAsciiStream()&#xff1a;此方法用于提供大的ASCII值。setCharacterStream()&#xff1a;此…

如何在Python中使用列表展开多行

在Python中&#xff0c;如果你有一个包含列表的DataFrame&#xff0c;并且你想要将这些列表中的每个元素都展开为多行&#xff0c;你可以使用pandas库中的explode方法。explode方法会将列表中的每个元素转换为一行&#xff0c;同时保留原始DataFrame中的其他列。 假设你有一个…

StarRocks实战——华米科技埋点分析平台建设

目录 前言 一、原有方案及其痛点 二、引入StarRocks 三、方案改造 3.1 架构设计 3.2 数据流程 3.3 性能指标 3.4 改造收益 前言 华米科技是一家基于云的健康服务提供商&#xff0c;每天都会有海量的埋点数据&#xff0c;以往基于HBase建设的埋点计算分析项目往往效率上…

小红书APP闪退,电商ERP系统接口该如何测试呢?

大数据时代&#xff0c; 数据收集不仅是科学研究的基石&#xff0c; 更是企业决策的关键。 然而&#xff0c;如何高效地收集数据 成了摆在我们面前的一项重要任务。 本文将为你揭示&#xff0c; 一系列实时数据采集方法&#xff0c; 助你在信息洪流中&#xff0c; 找到…

OJ 栓奶牛【C】【Python】【二分算法】

题目 算法思路 要求的距离在最近木桩与最远木桩相隔距离到零之间&#xff0c;所以是二分法 先取一个中间值&#xff0c;看按照这个中间值可以栓多少奶牛&#xff0c;再与输入奶牛数比较&#xff0c;如果大于等于&#xff0c;则增大距离&#xff0c;注意这里等于也是增大距离…

python内置函数bytes()、callable()详解

bytes() 函数 bytes()函数用于创建一个新的不可变的字节序列对象&#xff0c;它是bytearray()的不可变版本。这个函数非常有用&#xff0c;尤其是在处理二进制数据、进行网络编程或者文件操作时。 语法 bytes([source[, encoding[, errors]]])source&#xff1a;可以是字符串…

苍穹外卖---文件上传-阿里OSS

一&#xff1a;开通阿里云对象存储服务oss,创建bucket&#xff0c;获得密钥 二&#xff1a;在程序中集成上传文件功能 1.连接阿里云OSS对象存储服务器 声明一个配置属性的文件用于传入连接的参数 package com.sky.properties;import lombok.Data; import org.springframewo…

OceanBase数据库oceanbase-ce的docker镜像中文说明

本文为OceanBase数据库oceanbase-ce的docker镜像的中文说明&#xff0c;原英文链接为&#xff1a; oceanbase/oceanbase-ce - Docker Image | Docker Hub 如何使用 docker 部署 OceanBase OceanBase 为 OceanBase 数据库提供了一个名为 oceanbase-ce 的独立测试镜像。默认情…

浏览器工作原理与实践--虚拟DOM:虚拟DOM和实际的DOM有何不同

虚拟DOM是最近非常火的技术&#xff0c;两大著名前端框架React和Vue都使用了虚拟DOM&#xff0c;所以我觉得非常有必要结合浏览器的工作机制对虚拟DOM进行一次分析。当然了&#xff0c;React和Vue框架本身所蕴含的知识点非常多&#xff0c;而且也不是我们专栏的重点&#xff0c…

yarn常用命令行

##修改hdfs日志的读写权限 hdfs dfs -ls /tmp/logs/autoflow/logs hdfs dfs -chmod arwx /tmp/logs/autoflow/logs ##查看所有node节点状态 yarn node -list -all ##查看当前运行的应用 yarn application -list ##杀掉application yarn application -kill application_17036…

二手车商的套路

https://www.dongchedi.com/article/7126394624675578405 https://www.dongchedi.com/article/7126394624675578405 现在&#xff0c;有越来越多的人去了解二手车&#xff0c;二手车相对于新车来说&#xff0c;更加的亲民划算。很多新车需要四五十万&#xff0c;而二手车有可…

Qt Creator 新建项目

&#x1f40c;博主主页&#xff1a;&#x1f40c;​倔强的大蜗牛&#x1f40c;​ &#x1f4da;专栏分类&#xff1a;QT❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 一、使用 Qt Creator 新建项目 1、新建项目 2、选择项目模板 3、选择项目路径 4、选择构建系统 5…

你不可不知的5款小众神器

Hey小伙伴们&#x1f44b;&#xff0c;是不是还在为工作中的效率不高而烦恼呢&#xff1f;别急&#xff0c;今天我就给大家安利5款超实用的国产小众工作效软件&#xff0c;让你的工作台效率翻倍&#xff0c;轻松应对各种工作挑战&#xff01;&#x1f31f; 1️⃣ 亿可达 ycoda…

使用立体视觉作为 3D LiDAR 的替代方案,在 KITTI ADAS 立体视觉数据集上微调立体变换器 (STTR) 模型-含数据集+源码资料下载

为什么是立体视觉? ADAS 立体视觉是指使用两个摄像头(类似于人眼)从略有不同的角度捕获图像的技术。该设置模仿人类双眼视觉,使系统能够感知环境的深度和 3D 结构。 立体视觉的关键技术方面 ADAS 立体视觉具有多种优势和高度复杂的功能。让我们探索它们以更好地理解: …