Codeforces Round 931(div2)||ABC

A-Too Min Too Max

题意

对一个数组,找到索引 ( i , j , k , l ) (i,j,k,l) (i,j,k,l)使得 ∣ a i − a j ∣ + ∣ a j − a k ∣ + ∣ a k − a l ∣ + ∣ a l − a i ∣ |a_i-a_j|+|a_j-a_k|+|a_k-a_l|+|a_l-a_i| aiaj+ajak+akal+alai最大的值。

数据范围

t ( 1 ≤ t ≤ 500 ) t(1≤t≤500) t(1t500)

n ( 4 ≤ n ≤ 100 ) n(4≤n≤100) n(4n100)

a i ( − 1 0 6 ≤ a i ≤ 1 0 6 ) a_i(-10^6\le a_i\le 10^6) ai(106ai106)

思路

选则最大的两个数和最小的两个数,结果为最大-最小+次大-最小+最大-次小+次大-次小。

参考代码

void solve() {int n;cin >> n;vector<ll>a(n);for (int i = 0;i < n;i++)cin >> a[i];sort(a.begin(), a.end());cout << a[n - 1] - a[0] + a[n - 2] - a[0] + a[n - 1] - a[1] + a[n - 2] - a[1] << '\n';
}

B-Yet Another Coin Problem

题意

有一些5种不同面值的金币,面值有: 1 , 3 , 6 , 10 , 15 1,3,6,10,15 1,3,6,10,15。找到使用金币数目最少的组合方式达到数值为 n n n的组合。

数据范围

t ( 1 ≤ t ≤ 1 0 4 ) t(1≤t≤10^4) t(1t104)

n ( 1 ≤ n ≤ 1 0 9 ) n(1≤n≤10^9) n(1n109)

思路

打表。

参考代码

void solve() {ll n;cin >> n;vector<ll>p = { 0,1,2,1,2,3,1,2,3,2,1,2,2,2,3,1,2,3,2,3,2,2,3,3,3,2,3,3,3,4,2};ll ans = n / 15 + p[n % 15];if (n / 15 > 0)ans = min(ans, n / 15 - 1 + p[n % 15 + 15]);cout << ans << endl;}

C-Find a Mine

题意

交互题。

n × m n\times m n×m的地图有两个地雷,每次询问一个坐标点,评审机会返回距离询问点最近的地雷的与询问点的曼哈顿距离。

数据范围

t ( 1 ≤ t ≤ 3 × 1 0 3 ) t(1≤t≤3\times 10^3) t(1t3×103)

n , m ( 2 ≤ n ≤ 1 0 8 , 2 ≤ m ≤ 1 0 8 ) n,m (2≤n≤10^8,2\le m\le 10^8) n,m(2n108,2m108)

思路

第一次询问可以获得一条斜线,斜线上至少有一个地雷。

第二次询问可能可以找到正好一个交点,这个交点可能正好是地雷或者是两个地雷的行列序号的组合。再做第三次询问,得到两个交点至少有一个是地雷。第四次询问即可排除。

参考代码

bool f = false;int ask(int x, int y) {cout << "? " << x << ' ' << y << endl;int res;cin >> res;if (res == 0) {cout << "! " << x << ' ' << y << endl;f = true;}return res;
}void solve() {int n, m;cin >> n >> m;f = false;int x1 = ask(1, 1);if (f) { return; }int x2 = ask(1, m);if (f) { return; }int x3 = ask(n, 1);if (f) { return; }int x, y;if (x2 + x3 == n + m - 2) {// 同一条斜线y = (x1 + x3 - n + 1) / 2;x = x1 - y;x += 1;y += 1;cout << "! " << x << ' ' << y << endl;return;}else if ((n + m - x2 - x3) % 2 != 0) {// 有一个交点if ((x1 + x2 - m + 1) % 2 == 0) {x = (x1 + x2 - m + 1) / 2;y = x1 - x;x += 1;y += 1;cout << "! " << x << ' ' << y << endl;}else {y = (x1 + x3 - n + 1) / 2;x = x1 - y;x += 1;y += 1;cout << "! " << x << " " << y << endl;}return;}y = (x1 + x3 - n + 1) / 2;x = x1 - y;x += 1;y += 1;if (x < 1 || x > n || y < 1 || y > m) {f = true;}if (!f) {int x4 = ask(x, y);if (f) { return; }}x = (x1 + x2 - m + 1) / 2;y = x1 - x;x += 1;y += 1;cout << "! " << x << ' ' << y << endl;
}

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

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

相关文章

60种常用可视化图表的使用场景——(下)

文章目录 31、径向柱图 32、热图 33、散点图 34、气泡图 35、气泡地形图 36、地区分布图 37、点示地图 38、连接地图 39、流向地图 40、甘特图 41、箱形图 42、子弹图 43、蜡烛图 44、跨度图 45、卡吉图 46、美国线 47、弦图 48、非彩带弦图 49、树形图 50、流程图 51、脑力激荡…

Volume优化

低效volume影响 解算时间&#xff1b;存储大小&#xff1b;渲染时间&#xff1b;服务器I/O&#xff1b;迭代次数&#xff1b;影响队友&#xff1b; 降低volume数据 体素精度分辨率&#xff1b;根据离相机的远近设置不同的分辨率&#xff1b;数据位数&#xff1b;删除不需要的数…

python知识点总结(一)

这里写目录标题 一、什么是WSGI,uwsgi,uWSGI1、WSGI2、uWSGI3、uwsgi 二、python中为什么没有函数重载&#xff1f;三、Python中如何跨模块共享全局变量?四、内存泄露是什么?如何避免?五、谈谈lambda函数作用?六、写一个函数实现字符串反转&#xff0c;尽可能写出你知道的所…

react中使用腾讯地图

腾讯文档 申请好对应key 配置限额 https://lbs.qq.com/service/webService/webServiceGuide/webServiceQuota 代码 用到的服务端接口 1.逆地址解析 2.关键词输入提示 import React, { Component } from react; import styles from ./map.less import { Form, Row, Col, I…

Go 语言中的 Cond 机制详解

概述 在并发编程中&#xff0c;条件同步是一个常见的需求。Go 语言提供了 sync.Cond 类型来满足这一需求。sync.Cond 基于互斥锁&#xff08;sync.Mutex&#xff09;提供了条件变量的同步机制&#xff0c;允许一组 goroutine 在满足某个条件时进行阻塞等待&#xff0c;或者在条…

python接口自动化之DDT数据驱动测试

一、简单介绍 DDT&#xff08;Date Driver Test&#xff09;&#xff0c;所谓数据驱动测试&#xff0c;简单来说就是由数据的改变从而驱动自动化测试的执行&#xff0c;最终引起测试结果的改变。通过使用数据驱动测试的方法&#xff0c;可以在需要验证多组数据测试场景中&…

C#混淆心得

C#混淆心得 近期遇到混淆C#代码的需求&#xff0c;在网上找了很多办法&#xff0c;在此记录一下。 混淆的本质就是让代码变丑&#xff0c;让别人看不懂。 为什么要混淆&#xff1a; 1.保护核心代码 可以在一定程度上避免别人偷代码&#xff0c;从而保护重要的部分&#xf…

postman---postman参数化

我们在做接口测试的过程中&#xff0c;都会遇到同一个接口不同的数据&#xff0c;每次去一个个填写数据就太麻烦了&#xff0c;今天我们一起学习下如何通过postman进行参数化 一、参数化 参数化就是1个接口请求不同的数据&#xff0c;我们可以通过把请求的数据放入到一个文件…

滑动窗口和螺旋矩阵

209. 长度最小的子数组 题目 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续 子数组 [numsl, numsl1, ..., numsr-1, numsr] &#xff0c;并返回其长度**。**如果不存在符合条件的子数组&#xff0c;返回…

LInux 进程替换(理解系统调用)

目录 一、替换原理 二、替换函数 1、exec函数 2、命名理解 3、返回值 4、使用execl/lp、execv/vp 5、执行自定义命令 Makefile编译多个文件 命令行程序mycmd.c 传入自己的可执行文件 7、子进程都继承父进程环境变量 8、execle/ve修改子进程环境变量 9、exece函数为…

编写测试用例的方法,这个是真的很好用

大家测试过程中经常用的等价类划分、边界值分析、场景法等&#xff0c;并不能覆盖所有的需求&#xff0c;我们之前讲过很少用到的因果图法&#xff0c;下面就来讲另一种不经常用到但又非常重要的测试用例编写方法——测试大纲法。 测试大纲法适用于有多个窗口&#xff0c;每个…

SpringBoot 过滤器

SpringBoot 过滤器简介 SpringBoot 是一种广泛使用的 Java 框架&#xff0c;用于创建微服务和企业级应用程序。它提供了许多功能&#xff0c;包括用于处理 HTTP 请求和响应的过滤器。在 SpringBoot 中&#xff0c;过滤器是一种组件&#xff0c;它允许您在请求到达控制器之前和…

2024批量导出公众号所有文章生成目录,这下方便找文章了

公众号历史文章太多&#xff0c;手机上翻起来太费劲&#xff0c;怎么快速找到某一天的文章呢&#xff1f;比如深圳卫健委这个号从2014到2024发布近万篇文章。 公众号历史文章太多&#xff0c;手机上翻起来太费劲&#xff0c;怎么快速找到某一天的文章&#xff1f; 如果要找2020…

wsl-oraclelinux 安装 cuda

wsl-oraclelinux 安装 cuda 1. 安装 cuda2. 安装 cuDNN3. 配置环境变量 1. 安装 cuda wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.run sudo sh cuda_12.4.0_550.54.14_linux.run2. 安装 cuDNN sudo dnf …

第十四届蓝桥杯省赛真题 Java C 组【原卷】

文章目录 发现宝藏【考生须知】试题 A \mathrm{A} A : 求和试题 B: 分糖果试题 C: 三国游戏试题 D : \mathrm{D}: D: 平均试题 E \mathrm{E} E : 填充试题 F : \mathrm{F}: F: 棋盘试题 G: 子矩阵试题 H: 公因数匹配试题 I: 异或和之差试题 J : \mathrm{J}: J: 太阳 发现宝…

总结linux常用命令

Linux常用命令总结如下&#xff1a; 文件与目录操作&#xff1a; ls&#xff1a;列出目录内容cd&#xff1a;改变当前目录pwd&#xff1a;显示当前工作目录mkdir&#xff1a;创建新目录cp&#xff1a;复制文件或目录rm&#xff1a;删除文件或目录mv&#xff1a;移动或重命名文件…

命令模式在量化交易系统开发中的应用

文章目录 一、命令模式的特点及优点二、命令模式在量化交易系统的应用 一、命令模式的特点及优点 命令模式是一种行为设计模式&#xff0c;它将请求封装成一个对象&#xff0c;从而使得可以使用不同的请求、队列或者日志来参数化其他对象。命令模式的特点和优点如下&#xff1a…

如何重置iPhone的网络设置?这里提供详细步骤

前言 本文介绍如何重置iPhone上的网络设置。该信息适用于iPhone 12到iPhone 6以及iOS 14到iOS 8。 如何在iPhone上重置网络设置 采取以下步骤重置iPhone上的网络设置&#xff1a; 1、在iPhone上&#xff0c;打开设置应用程序。 2、单击通用。 3、滚动到屏幕底部&#xff…

eplan新建符号及符号向量(实现新建符号旋转)

建符号之前先建符号库,这里直接新建符号 选择变量A,写符号名(英文字母),点确定 这时会打开一个空白页面,新建的符号在这里编辑 从原有的符号中插入过来直接编辑(也可自己画,最关键是自动引出线要加中断点) 插入进来后进行编辑: 编辑后: 符号向量A编辑完成后(保持符号编辑页面…

构建灵活可配置的JavaScript插件系统

在现代软件开发中&#xff0c;插件系统为应用程序提供了巨大的灵活性和可扩展性。它们允许开发者在不修改核心代码的情况下扩展和定制应用程序的功能。本文将详细介绍如何构建一个灵活的JavaScript插件系统&#xff0c;包括插件的注册、配置、安装、执行和卸载。 一、插件系统…