AtcoderABC246场

news2024/11/25 11:22:39

#A - Four PointsA - Four Points

在这里插入图片描述在这里插入图片描述

题目大意

在平面上有一个矩形,矩形的每条边都平行于x轴或y轴,并且它的面积不为零。
给定这个矩形三个顶点的坐标 (x1, y1), (x2, y2), (x3, y3),找到另外一个顶点的坐标。

思路分析

根据矩形的性质可以通过判断顶点的横坐标和纵坐标来确定另外一个顶点的坐标。

时间复杂度

O(1)

可AC代码

#include <iostream>
using namespace std;

int main(void)
{
  int x_1, x_2, x_3, y_1, y_2, y_3, x_ans, y_ans;
  
  cin >> x_1 >> y_1;
  cin >> x_2 >> y_2;  
  cin >> x_3 >> y_3;
  
  if(x_1 == x_2) x_ans = x_3;
  if(x_2 == x_3) x_ans = x_1;  
  if(x_3 == x_1) x_ans = x_2;  
  
  if(y_1 == y_2) y_ans = y_3;
  if(y_2 == y_3) y_ans = y_1;  
  if(y_3 == y_1) y_ans = y_2;
  
  cout << x_ans << " " << y_ans << endl;
  
  return 0;
}

B - Get CloserB - Get Closer

在这里插入图片描述加粗样式

题目大意

要求在二维平面上从点(0,0)出发,向点(A,B)移动距离为1的距离,然后求移动后的坐标。

思路分析

首先可以根据两点之间的距离公式来求出距离d,其中d = sqrt(A^2 + B^2)。然后可以将坐标(A,B)除以d得到新的坐标(x,y),即(x,y) = (A/d, B/d)。这样就得到了移动后的坐标

时间复杂度

O(1)

可AC代码

#include <iostream>
#include <cmath>

int main() {
    int A, B;
    std::cin >> A >> B;

    double d = std::sqrt(A * A + B * B);
    double x = A / d;
    double y = B / d;

    std::cout << x << " " << y << std::endl;

    return 0;
}

C - CouponC - Coupon

在这里插入图片描述在这里插入图片描述在这里插入图片描述

题目大意

购物问题。有N个商品,在商店里出售。每个商品的价格分别为A1, A2, …, AN。Takahashi有K张优惠券,每张优惠券可以用于一件商品。对于每件商品,你可以使用任意数量的优惠券(包括零张)。使用k张优惠券在价格为a日元的商品上,可以以max(a - kX, 0)日元的价格购买它。现在需要计算Takahashi购买所有商品所需的最小金额。

思路分析

首先,可以使用尽可能多的类型1优惠券,即将优惠券应用于能够带来更大降价的商品上。具体操作如下:首先统计能够使用类型1优惠券的次数m,即对于每个商品,通过将商品价格除以X取整获得能够使用的优惠券数量,然后找到实际可用的优惠券数量m和K中的较小值。接着,将m个优惠券应用于商品,从总成本中减去m*X的金额。然后,对于仍未使用完的优惠券,将使用类型2优惠券,即选择当前价格最高的商品进行折扣。最后,将剩余的优惠券使用完或者商品遍历完后,输出最终的总成本。

知识点标签

  • 数学运算
  • 排序算法

时间复杂度

O(NlogN)

可AC代码

#include <iostream>
#include <algorithm>
using namespace std;
typedef long long ll;

ll n, k, x;
ll a[200005];

int main(void)
{
  
  cin >> n >> k >> x;
  for(int i = 1; i <= n; i++) cin >> a[i];
  // 初始化总成本为0
  ll ans = 0;
  // 计算总成本,即将所有商品的价格累加到ans中
  for(int i = 1; i <= n; i++) ans += a[i];

  // 定义变量m记录可用的类型1优惠券数量,初始化为0
  ll m = 0;
  
  // 根据题意,对于每个商品,通过将商品价格除以X取整获得能够使用的优惠券数量,并累加到m中
  for(int i = 1; i <= n; i++) m += a[i]/x;
  
  // 将实际可用的优惠券数量m和K中的较小值赋值给m
  m = min(m, k);
  
  // 从总成本中减去应用类型1优惠券后的金额,即减去m*X
  ans -= m*x;
  
  // 更新剩余可用的优惠券数量k
  k -= m;
  
  // 对于每个商品,计算其使用类型1优惠券后的价格
  for(int i = 1; i <= n; i++) a[i] %= x;
  
  // 对商品价格进行排序,以便后续应用类型2优惠券
  sort(a+1, a+n+1);
  
  // 从价格最高的商品开始,将剩余的优惠券应用于类型2优惠券,即选择当前价格最高的商品进行折扣
  for(int i = n; i >= 1; i--){
    if(k == 0) break;
    
    // 将当前商品的价格从总成本中减去
    ans -= a[i];
    
    // 更新剩余可用的优惠券数量k
    k--;
  }
  
  // 输出最终的总成本
  cout << ans << endl;
  
  return 0;
}

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

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

相关文章

为什么低代码只能掀起小浪花?了解低代码的得失与前景

导语&#xff1a;低代码是相对于高代码和无代码的一个中间概念&#xff0c;通常强调的是用户不需要学习如何写代码&#xff0c;就能完成工作。然而低代码模式一直不温不火&#xff0c;原因是什么呢&#xff1f;一起来看一下吧。 最近互联网大公司裁员消息又起&#xff0c;“低代…

裁剪内核和新内核available差异大原因分析

背景 host内核裁剪时会进行收益的比较&#xff0c;比如裁剪前用5.10最新内核得出内存数据&#xff0c;然后和裁剪后的内存数据进行对比。 在进行对比中&#xff0c;发现裁剪后的内存available比裁剪前多了10个G&#xff0c;有点不正常了&#xff0c;需要分析下这10个G到底是怎…

基于VORS、CCDM模型、GeoDetector、GWR模型集成技术在城镇化与生态系统健康空间关系分析及影响效应

详情点击链接&#xff1a;基于VORS、CCDM模型、GeoDetector、GWR模型集成技术在城镇化与生态系统健康空间关系分析及影响效应 第一&#xff1a;生态系统健康理论基础及研究热点分析 1.生态系统健康概念及内涵 2.生态系统健康评价方法与指标体系 3.城镇化与生态系统健康 4.…

Git使用规范Git常用命令

Git使用规范&&Git常用命令 分支规范 master分支 master的分支HEAD和历史commit均是是稳定、可发布的状态。master分支的每个commit都需要打tag&#xff0c;如v1.0、v1.1、v1.2、v2.0等。仅能从test分支和hotfix分支合并过来。 hotfix的合并必须是通过代码审核和测试…

AI数字人:图像超分辨率模型 Real-ESRGAN

1 Real-ESRGAN介绍 1.1 Real-ESRGAN是什么&#xff1f; Real-ESRGAN全名为Enhanced Super-Resolution GAN&#xff1a;增强的超分辨率的对抗生成网络&#xff0c;是由腾讯ARC实验室发布的一个盲图像超分辨率模型&#xff0c;它的目标是开发出实用的图像/视频修复算法&#xf…

oled拼接屏在柳州的户外广告中有哪些应用展现?

柳州oled拼接屏是一种高端的显示屏&#xff0c;它采用了OLED技术&#xff0c;具有高亮度、高对比度、高色彩饱和度、高刷新率等优点&#xff0c;能够呈现出更加真实、清晰、细腻的图像效果。 同时&#xff0c;柳州oled拼接屏还具有拼接功能&#xff0c;可以将多个屏幕拼接在一…

2023婴幼儿奶粉市场数据分析(天猫数据中心)

我国婴幼儿奶粉市场一直保持着相当大的规模&#xff0c;虽然近几年新生人口数量不断下降&#xff0c;但伴随消费者的消费升级不断加速、大龄孩童吃奶粉的时间延长等&#xff0c;整体来看&#xff0c;婴幼儿奶粉行业市场规模保持平稳。 根据鲸参谋电商数据分析平台的相关数据显示…

240. 搜索二维矩阵 II

题目描述&#xff1a; 主要思路&#xff1a; 利用矩阵中的单调性进行搜索。 class Solution { public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int nmatrix.size(),mmatrix[0].size();int in-1,j0;while(i>0&&j<m){if(m…

Hadoop: High Available

序言 在Hadoop 2.X以前的版本&#xff0c;NameNode面临单点故障风险&#xff08;SPOF&#xff09;&#xff0c;也就是说&#xff0c;一旦NameNode节点挂了&#xff0c;整个集群就不可用了&#xff0c;而且需要借助辅助NameNode来手工干预重启集群&#xff0c;这将延长集群的停…

行为型模式 - 命令模式

概述 日常生活中&#xff0c;我们出去吃饭都会遇到下面的场景。 定义&#xff1a; 将一个请求封装为一个对象&#xff0c;使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通&#xff0c;这样方便将命令对象进行存储、传递、调用、增加与管理。 结构 …

美颜SDK与动态贴纸技术的发展趋势:向更智能、更新颖的美化

美颜SDK和动态贴纸技术在近年来迅速发展&#xff0c;成为移动应用、社交媒体和视频直播等领域中不可或缺的元素。本文将探讨美颜SDK和动态贴纸技术的最新发展趋势&#xff0c;包括智能化算法的应用、增强现实的融合以及个性化定制的兴起。我们将展望未来&#xff0c;展示这些技…

LiveGBS流媒体平台GB/T28181功能-平台国标GB28181级联上级如何抓包分析windows抓包和Linux抓包Wireshark和TCPDUMP

LiveGBS平台国标GB28181级联上级如何抓包分析windows抓包和Linux抓包Wireshark和TCPDUMP 1、背景3、抓包工具准备3.1、Linux3.2、windows 3、找到级联的上级ip4、执行命令抓级联的上级ip4.1 Linux4.2 Windwos 5、触发相关操作6、停止抓包6.1、Linux6.2、Windows 7、查看抓包8、…

【笔试训练】排序子序列和倒置字符串

目录 一、选择题 二、倒置字符串 一、选择题 一、A 派生出子类 B &#xff0c; B 派生出子类 C &#xff0c;并且在 java 源代码有如下声明&#xff1a; 1. A a0new A(); 2. A a1new B(); 3. A a2new C(); 问以下哪个说法是正确的&#xff08;D&#xff09; A. 只有第一行能通…

项目化思维

项目任务负责人的角色 整合者 管理者 影响者 明确需求和目标&#xff1a;IPAD四问法 I:Influencer关键影响人 P:Purpose目的 A:Acceptance 成功标准 时间&#xff0c;成本&#xff0c;质量 D:Deliverables 可交付物 MoSCoW原则 任务分解WBS&#xff08;work breakdown str…

【已解决】哪些软件可以解压RAR文件?

RAR文件是我们日常生活及工作中经常用的压缩文件&#xff0c;文件压缩后可以更方便储存或者传输&#xff0c;后续要使用的时候再进行解压。 那RAR文件如何解压呢&#xff1f;哪些软件可以用来解压RAR文件&#xff1f;在这一方面还是小白的小伙伴可以来看看下面的分享。 解压任…

06_本地方法接口+07_本地方法栈

一、本地方法&#xff1f; 本地方法就是Java调用非Java代码的接口。 本地方法的作用是融合不同的编程语言为Java所用&#xff0c;它的初衷是融合 C、C程序 二、为什么要使用Native Method? 三、本地方法栈 Java虚拟机栈用于管理Java方法的调用&#xff0c;而本地方法栈用于…

JVM系统优化实践(20):GC生产环境案例(三)

您好&#xff0c;这里是「码农镖局」CSDN博客&#xff0c;欢迎您来&#xff0c;欢迎您再来&#xff5e; 某新手开发工程师接到了一个保存Elasticsearch日志的任务&#xff0c;以供后续分析之用。但写代码的时候&#xff0c;误将保存日志的代码段弄成了无限循环&#xff0c;程序…

玩转单细胞(10):替换单细胞Seurat对象UMAP坐标

玩转单细胞往期精彩系列&#xff1a; 玩转单细胞(2):Seurat批量做图修饰 玩转单细胞(3):堆叠柱状图添加比例 玩转单细胞(4):单细胞相关性 玩转单细胞(5):单细胞UMAP图只标记特定细胞群、圈定细胞群及坐标轴修改 玩转单细胞(6):单细胞差异基因展示之对角散点图 玩转单细胞…

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(5)-Charles如何设置捕获Https会话

1.简介 在大数据时代&#xff0c;互联网时代&#xff0c;个人信息安全尤为重要&#xff0c;网络安全在近日多起电信诈骗事情发酵下的情况下&#xff0c;引起国家&#xff0c;企业&#xff0c;个人对于互联网安全进一步的重视。而之前很多以http协议传输的网站出现的网站信息泄露…

APIKIT 自学日记:不光有测试报告,还可以保存测试方案呢

在 APIkit 中做测试&#xff0c;可以直接查看测试报告的&#xff01; 测试报告 进入测试报告页面&#xff0c;在这里会列出所有手动批量测试、定时测试、Open api测试的测试报告。 查看测试报告 点击顶部的标签&#xff0c;进入定时测试报告列表&#xff0c;你可以在这里选择…