Codeforces Round 931 (Div. 2) (A~B)

比赛:Codeforces Round 931 (Div. 2) (A~B)

目录:A B

A题:Too Min Too Max

标签: 构造算法(constructive algorithms)贪心(greedy)数学(math)

题目大意

  • 对数组 a 找到四个不同下标 i, j, k, l ,最大化:
    • |ai − aj| + |aj − ak| + |ak − al| + |al − ai|

思路

  • 因为选择四个数构成一个环,去相邻差值和,贪心四个值应该 大数 小数 大数 小数 交替摆放,可以证明这是最优的
  • 一个数最多出现一次,所以找到最大,次大值,最小,次小值交替摆放即可

AC代码

#include <bits/stdc++.h>
using namespace std;
const int N = 110;
int a[N];
void solve()
{int n; cin >> n;for(int i = 0; i < n; i++)cin >> a[i];sort(a, a + n);cout << (a[n-1]+a[n-2]-a[0]-a[1])*2 << '\n';
} 
int main()
{int T; cin >> T;while(T--)solve();return 0;
}

B题:Yet Another Coin Problem

标签: 暴力枚举(brute force)动态规划(dp)贪心(greedy)数学(math)

题目大意

  • 有 5 种不同的硬币,面额为1 3 6 10 15
  • 找出所需的最少数量的这些硬币,使它们的总价值相加正好是 n (1 ≤ n ≤ 109)

思路

  • 贪心:1 3 6 10 15最大公约数是30,除了小于30的部分其他用15面额的硬币填充
  • 小于30的部分用dp即可,完全背包问题。当然手动模拟也行反正没几项hh
  • 选择n / 15 - 1个15面额的硬币,剩余钱数n%15+15 dp即可

AC代码

#include <bits/stdc++.h>
using namespace std;
int dp[30]={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};
void solve()
{int n; cin >> n;  if(n < 30) cout << dp[n] << endl; else cout << n / 15 - 1 + dp[n % 15 + 15] << endl;
} 
int main()
{int T; cin >> T;while(T--)solve();return 0;
}
// dp数组计算方式,完全背包问题
#include <bits/stdc++.h>
using namespace std;
const int N = 110;
int v[5] = {1, 3, 6, 10, 15};
int dp[N]; 
void solve()
{int n; cin >> n;  if(n < 30) cout << dp[n] << endl; else cout << n / 15 - 1 + dp[n % 15 + 15] << endl;
} 
int main()
{memset(dp, 0x3f, sizeof dp); dp[0] = 0;for(int i = 0; i < 5; i++)for(int j = v[i]; j < N; j++)dp[j] = min(dp[j], dp[j-v[i]] + 1);int T; cin >> T;while(T--)solve();return 0;
}

logo

//へ     /|
//  /\7    ∠_/
//  / │   / /
// │ Z _,< /   /`ヽ
// │     ヽ   /  〉
//  Y     `  /  /
// イ● 、 ●  ⊂⊃〈  /
// ()  へ    | \〈
//  >ー 、_  ィ  │ //
//  / へ   / ノ<| \\
//  ヽ_ノ  (_/  │//
//	  7       |/
//
/*__   _,--="=--,_   __/  \."    .-.    "./  \/  ,/  _   : :   _  \/` \\  `| /o\  :_:  /o\ |\__/`-'| :="~` _ `~"=: |\`     (_)     `/.-"-.   \      |      /   .-"-.
.---{     }--|  /,.-'-.,\  |--{     }---.)  (_)_)_)  \_/`~-===-~`\_/  (_(_(_)  (
(                         				))                                     (
'---------------------------------------'
*/

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

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

相关文章

【力扣hot100】刷题笔记Day19

前言 回溯回溯回溯&#xff01;早上整理档案竟然用了桶排序&#xff0c;不愧是算法狂魔们 79. 单词搜索 - 力扣&#xff08;LeetCode&#xff09; DFS class Solution:def exist(self, board: List[List[str]], word: str) -> bool:m, n len(board), len(board[0])# used…

mysql timestamp转换为datetime

MySQL timestamp转换为datetime的方法 1. 流程概述 在MySQL中&#xff0c;timestamp和datetime是两种不同的数据类型。timestamp存储了日期和时间&#xff0c;并且会自动更新&#xff0c;可以用于记录数据的创建和修改时间。datetime则是一个固定的日期和时间&#xff0c;不会自…

谈谈高并发系统的设计方法论

谈谈高并发系统的设计方法论 何为高并发系统&#xff1f;什么是并发&#xff08;Conurrent&#xff09;&#xff1f;什么是高并发&#xff08;Hight Concurrnet&#xff09;&#xff1f;高并发的衡量指标有哪些&#xff1f; 实现高并发系统的两大板块高并发系统应用程序侧的设计…

腾讯云学生服务器使用教程_申请腾讯云学生机详细流程

2024年腾讯云学生服务器优惠活动「云校园」&#xff0c;学生服务器优惠价格&#xff1a;轻量应用服务器2核2G学生价30元3个月、58元6个月、112元一年&#xff0c;轻量应用服务器4核8G配置191.1元3个月、352.8元6个月、646.8元一年&#xff0c;CVM云服务器2核4G配置842.4元一年&…

还在用Jenkins?快来试试这款简而轻的自动部署软件!

最近发现了一个比 Jenkins 使用更简单的项目构建和部署工具&#xff0c;完全可以满足个人以及一些小企业的需求&#xff0c;分享一下。 Jpom 是一款 Java 开发的简单轻量的低侵入式在线构建、自动部署、日常运维、项目监控软件。 日常开发中&#xff0c;Jpom 可以解决下面这些…

Nginx的多线程支持探究

文章中心思想: Nginx本身并不直接支持多线程处理模型。它采用的是基于事件驱动的单线程或多进程架构,而非多线程模型。然而,通过Nginx的模块和第三方扩展,可以实现类似多线程的并发处理效果。 详细说明: Nginx,作为一款高性能的Web服务器和反向代理服务器,其架构和并发…

章节二、three.js开发入门与调试设置02;

一、轨道控制器查看物体&#xff1b; 1、基本概念 轨道控制器&#xff08;OrbitControls&#xff09;可以使得相机围绕目标进行轨道运动&#xff1b; 2、代码样例 // 七、创建轨道控制器&#xff08;相机围绕着物体捕捉视角&#xff09; const controls new OrbitControls(c…

吴恩达机器学习全课程笔记第五篇

目录 前言 P80-P85 添加数据 迁移学习 机器学习项目的完整周期 公平、偏见与伦理 P86-P95 倾斜数据集的误差指标 决策树模型 测量纯度 选择拆分方式增益 使用分类特征的一种独热编码 连续的有价值特征 回归树 前言 这是吴恩达机器学习笔记的第五篇&#xff0c…

《2023跨境电商投诉大数据报告》发布|亚马逊 天猫国际 考拉海购 敦煌网 阿里巴巴

2023年&#xff0c;跨境电商API接口天猫国际、京东国际和抖音全球购以其强大的品牌影响力和市场占有率&#xff0c;稳坐行业前三的位置。同时&#xff0c;各大跨境电商平台消费纠纷问题层出不穷。依据国内知名网络消费纠纷调解平台“电诉宝”&#xff08;315.100EC.CN&#xff…

javaEE--后端环境变量配置

目录 pre 文件准备 最终运行成功结果 后端运行步骤 1.修改setenv文件 2.运行setenv&#xff0c;设置环境变量 3.查看jdk版本 4.修改mysql文件夹下的my文件 前端运行步骤 1.nodejs环境配置 2.查看node和npm版本 3.下载并运行npm 4.注册登录 pre 文件准备 最终运行…

VR转接器:破解虚拟与现实边界的革命性设备

VR转接器&#xff0c;这一革命性的设备&#xff0c;为虚拟现实体验带来了前所未有的自由度。它巧妙地连接了虚拟与现实&#xff0c;使得用户在享受VR眼镜带来的奇幻世界的同时&#xff0c;也能自由地在现实世界中活动。这一设计的诞生&#xff0c;不仅解决了VR眼镜续航的瓶颈问…

2、云原生安全之可视化界面rancher的部署

文章目录 1、rancher的部署1.1、安装rancher1.2、配置k8s2、部署helm3、容器安全工具neuvector此时已经部署好了k8s,使用rancher来管理 rancher简化了使用k8s的流程,可以图形化管理k8s。 参考: https://blog.51cto.com/u_15343792/5000311https://docs.rancher.cn/docs/ra…

你们团队是否有RocketMQ创建Topic、GID创建规范呢

这里是weihubeats,觉得文章不错可以关注公众号小奏技术 背景 早期在使用RocketMQ的时候&#xff0c;系统和开发人员不算多。所以topic的创建会非常随意&#xff0c;各种千奇百怪的topic 比如: order_topic、ORDER_TOPIC、order-topic 各种奇奇怪怪的风格&#xff0c;用_的&a…

GO结构体

1. 结构体 Go语言可以通过自定义的方式形成新的类型&#xff0c;结构体就是这些类型中的一种复合类型&#xff0c;结构体是由零个或多个任意类型的值聚合成的实体&#xff0c;每个值都可以称为结构体的成员。 结构体成员也可以称为“字段”&#xff0c;这些字段有以下特性&am…

JS清空数组方法

清空数组的方法有多种&#xff0c;以下是几种常见的方式&#xff1a; 1.使用 array.length 属性将数组的长度设为0&#xff0c;这样会移除数组中的所有元素&#xff1a; var arr [1, 3, 5]; arr.length 0; console.log(arr); // [] 2. 使用 array.splice() 方法&#xff0c;…

STM32 | 零基础 STM32 第一天

零基础 STM32 第一天 一、认知STM32 1、STM32概念 STM32:意法半导体基于ARM公司的Cortex-M内核开发的32位的高性能、低功耗单片机。 ST:意法半导体 M:基于ARM公司的Cortex-M内核的高性能、低功耗单片机 32&#xff1a;32位单片机 2、STM32开发的产品 STM32开发的产品&a…

【论文笔记】Improving Language Understanding by Generative Pre-Training

Improving Language Understanding by Generative Pre-Training 文章目录 Improving Language Understanding by Generative Pre-TrainingAbstract1 Introduction2 Related WorkSemi-supervised learning for NLPUnsupervised pre-trainingAuxiliary training objectives 3 Fra…

Java 网络面试题解析

1. Http 协议的状态码有哪些&#xff1f;含义是什么&#xff1f;【重点】 200&#xff1a;OK&#xff0c;客户端请求成功。 301&#xff1a;Moved Permanently&#xff08;永久移除&#xff09;&#xff0c;请求的URL已移走。Response中应该包含一个Location URL&#xff0c;…

steam++加速问题:出现显示443端口被 vmware-hostd(9860)占用的错误。

目录 前言&#xff1a; 正文&#xff1a; 前言&#xff1a; 使用Steam对GitHub进行加速处理时&#xff0c;建议使用2.8.6版本。 下载地址如下&#xff1a;Release 2.8.6 BeyondDimension/SteamTools GitHub 下载时注意自己的系统位数 正文&#xff1a; 使用GitHub时会使…

NOC2023软件创意编程(学而思赛道)python初中组初赛真题

软件创意编程 一、参赛范围 1.参赛组别:小学低年级组(1-3 年级)、小学高年级组(4-6 年级)、初中组。 2.参赛人数:1 人。 3.指导教师:1 人(可空缺)。 4.每人限参加 1 个赛项。 组别确定:以地方教育行政主管部门(教委、教育厅、教育局) 认定的选手所属学段为准。 二、…