Codeforces Round 894 div3 题解 | JorbanS

A. Gift Carpet

题意 从左到右选择四列,使得四列分别对应字母 v , i , k , a v,i,k,a v,i,k,a

string solve() {int n, m; cin >> n >> m;char s[N][N];char a[5] = "vika";int cnt = 0;for (int i = 0; i < n; i ++) cin >> s[i];for (int j = 0; j < m; j ++)for (int i = 0; i < n; i ++)if (s[i][j] == a[cnt]) {cnt ++;break;}if (cnt == 4) return yes;return no;
}

B. Sequence Game

题意 a a a 序列经过转换变成 b b b 序列,已知 b b b 序列,求任意一个可能的 a a a 序列

首先 b 0 ← a 0 b_0 ← a_0 b0a0,然后只要满足 a i − 1 ≤ a i a_{i-1}\le a_i ai1ai 就将 a i p u s h _ b a c k a_i~push\_back ai push_back b b b 序列后面

void solve() {int n; cin >> n;vector<int> a(1);cin >> a[0];for (int i = 1; i < n; i ++) {int x; cin >> x;if (*(a.end() - 1) > x) a.push_back(x);a.push_back(x);}cout << a.size() << endl;for (auto i : a) cout << i << ' ';cout << endl;
}

C. Flower City Fence

题意 给出每个栅栏的高度(宽度为 1 1 1),问这个栅栏是否关于 y = x y=x y=x 对称

string solve() {int n; cin >> n;vector<int> a(n);for (auto &i : a) cin >> i;a.push_back(0);int idx = 0;for (int i = n - 1; i >= 0; i --) {int t = a[i] - a[i + 1];while (t --) if (a[idx ++] != i + 1) return no;}return yes;
}

D. Ice Cream Balls

题意 每两种球可以合成一种冰淇淋,且 ( i , j ) = ( j , i ) (i,j)=(j,i) (i,j)=(j,i)。特殊的,两个球 1 1 1 可以合成 ( 1 , 1 ) (1,1) (1,1)。问至少需要多少球能刚好合成 n n n 个冰淇淋

ll solve() {ll n; cin >> n;ll l = 0, r = 2e9;while (l < r) {ll mid = l + r + 1 >> 1;if (mid * (mid - 1) / 2 <= n) l = mid;else r = mid - 1;}ll res = l + (n - l * (l - 1) / 2);return res;
}

E. Kolya and Movie Theatre

题意 一共 n n n 天每天一场电影,最多看 m m m 场电影,每场电影的热度为 a i a_i ai,每次看电影的兴奋值为 a i − c n t ⋅ d a_i-cnt·d aicntd,其中 d d d 为给定常数, c n t cnt cnt 为距上次看电影的天数,求最终的兴奋值之和

题解 优先队列

ll solve() {int n, m, d; cin >> n >> m >> d;priority_queue<int, vector<int>, greater<int>> q;ll res = 0, sum = 0;for (int i = 1; i <= n; i ++) {int x; cin >> x;if (x <= 0) continue;if (q.size() < m) {sum += x;q.push(x);} else {sum += x;q.push(x);sum -= q.top();q.pop();}res = max(res, sum - (ll)i * d);}return res;
}

F. Magic Will Save the World

题意 n n n 个怪兽血量为 a i a_i ai,魔法师初始有 0 0 0 点水魔法和 0 0 0 点火魔法,每秒分别恢复 w , f w,f w,f 点,对于每个怪兽只能

法一 b i t s e t bitset bitset

int solve() {int n, w, f; cin >> w >> f >> n;bitset<N> b;b[0] = true;int sum = 0;for (int i = 1; i <= n; i ++) {int x; cin >> x;sum += x;b |= b << x;}int res = sum;for (int i = 0; i <= sum; i ++) {if (!b[i]) continue;int x = (i + w - 1) / w;int y = (sum - i + f - 1) / f;res = min(res, max(x, y));}return res;
}

法二 d p dp dp 因为是从二维优化到一维,因此 j j j 逆序枚举

int solve() {int n, w, f; cin >> w >> f >> n;vector<int> a(n);int sum = 0;for (auto &i : a) cin >> i, sum += i;vector<int> dp(sum + 1);dp[0] = 1;for (auto i : a)for (int j = sum; j >= i; j --)dp[j] |= dp[j - i];int res = sum;for (int i = 0; i <= sum; i ++) {if (!dp[i]) continue;int x = (i + w - 1) / w;int y = (sum - i + f - 1) / f;res = min(res, max(x, y));}return res;
}

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

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

相关文章

Spring boot @ConditionalOnProperty 使用以及作用

ConditionalOnProperty 来源 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;即&#xff1a; 来源于Spring boot 中的自动化配置部分 实际作用&#xff1a; 通过读取本地配置文件中的值来判断 某些 Bean 或者 配置类 是否加入spring 中。 …

【海思SS626 | 开发环境】VMware17安装Ubuntu 18.04.6

目录 一、下载 Ubuntu 18.04.6 LTS二、VMware17创建虚拟机三、安装Ubuntu18.04LTS四、安装其他软件五、总结 一、下载 Ubuntu 18.04.6 LTS 问题&#xff1a;为什么要下载 Ubuntu18.04.6 LTS 而不是使用最新的&#xff0c;或者其他Linux发行版&#xff1f; 答&#xff1a;在ss6…

github上创建分支并合并到master

github上创建分支并合并到master 目录概述需求&#xff1a; 设计思路实现思路分析1.创建分支2.commit changes3.create pull request按钮4.网页解析器5.数据处理器 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,ful…

Zabbix监控平台环境部署

Zabbix监控平台环境部署 1.Linux环境部署 hostnamectl set-hostname zabbix_server #修改主机名方便查看 hostnamectl set-hostname zabbix_agent ​ systemctl stop firewalld #关闭防火墙 systemctl disable firewalld #关闭防火墙开机自启 setenforce 0 #关闭SElinu…

cart算法python实现:从CART算法中学习如何构建有效的决策树

CART&#xff08;Classification and Regression Tree&#xff09;算法是一种基于树的机器学习算法&#xff0c;用于分类和回归分析。它使用一种叫做分类和回归树&#xff08;CART&#xff09;的决策树结构&#xff0c;通过将数据集分割成多个子集来建立模型。 CART&#xff0…

Matlab数组操作进阶:扩维与构造

在Matlab中&#xff0c;数组是最基本的数据结构之一。它可以存储多个元素&#xff0c;并且可以进行各种操作。在之前的文章中&#xff0c;我们已经介绍了一些基本的数组操作&#xff0c;例如索引、切片和运算。然而&#xff0c;Matlab还提供了许多高级的数组操作&#xff0c;本…

git-git命令汇总

1.git 存储永久凭据 git config --global credential.helper store 2.git 查询分支或标签的引用 git show-ref 【标签名|分支名】 3.git 搜索关键分支和tag git tag -l *branch* --sortcommitterdate 4.git 删除标签 git tag -d v1.32 删除标签v1.32&#xff0c;参数d…

27-代码随想录--数组--移除元素

力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并原…

学习记忆——宫殿篇——记忆宫殿——数字编码——三十六计

案例&#xff1a;中国古代兵书《三十六计》 第1计 瞒天过海 第2计 围魏救赵 第3计 借刀杀人 第4计 以逸待劳 第5计 趁火打劫 第6计 声东击西 第7计 无中生有 第8计 暗渡陈仓 第9计 隔岸观火 第10计 笑里藏刀 我们可以这样记忆&#xff1a; 一、先熟悉1-10的编码&#xff1a;…

算法的概述

1.算法和数据结构 1.1. 算法 在计算机领域&#xff0c;算法是一系列程序指令&#xff0c;用于处理特定的运算和逻辑的问题。 算 法中的指令描述的是一个计算&#xff0c;当其运行时能从一个初始状态和&#xff08;可能为空的&#xff09;初始输入开始&#xff0c;经过一系列…

windows安装pytorch

windows安装pytorch 1. 安装cuda pytorch官网我要安装1.12.1对应的cuda有三个版本&#xff0c;我选了11.6 去官网安装这个版本的cuda下载链接 安装后打开命令行输入nvcc -V&#xff0c;可以显示版本则安装成功&#xff0c;如果显示nvcc不是外部命令&#xff0c;进入安装文件…

数据结构与算法-选择冒泡快排计数

一&#xff1a;选择排序 场景&#xff1a;找出一个班上身高最高的人你会怎么找&#xff1f;A B C D A B 选择排序的思路和插入排序非常相似&#xff0c;也分已排序和未排序区间。但选择排序每次会从未排序区间中找到最小的元素&#xff0c;将其放到已排序区间的末尾。但是不像插…

深度学习:循环神经网络RNN及LSTM

深度学习&#xff1a;循环神经网络RNN及LSTM 循环神经网络RNN原理代码 长短期记忆网络LSTM原理遗忘门记忆门输出门 代码 循环神经网络RNN 原理 对于传统的神经网络&#xff0c;它的信号流从输入层到输出层依次流过&#xff0c;同一层级的神经元之间&#xff0c;信号是不会相互…

【SpringMVC】JSR 303与拦截器注解使用

一、JSR 303 1.1 JSR 303介绍 JSR 303&#xff0c;它是Java EE&#xff08;现在称为Jakarta EE&#xff09;规范中的一部分。JSR 303定义了一种用于验证Java对象的标准规范&#xff0c;也称为Bean验证。 Bean验证是一种用于验证对象属性的框架&#xff0c;它可以确保对象符合特…

巧妙的设计

1. 判空逻辑,如果为空,抛异常,下面代码来自kafka client: Assert.notNull(queue, () -> "No cache found for " + txIdPrefix); 2. 本地cache设计,一下代码来自kafka client: private final Map<String, BlockingQueue<CloseSafeProducer<K, V&g…

Verilog零基础入门(边看边练与测试仿真)-时序逻辑-笔记(4-6讲)

文章目录 第四讲第五讲第六讲 第四讲 1、计数器 代码&#xff1a; //计数器 timescale 1ns/10ps module counter(clk,res,y); input clk; input res; output[7:0] y;reg[7:0] y; wire[7:0] sum;//1运算的结果&#xff08;1&#xff0…

Redis高效、安全的不停机数据迁移方案

Redis是目前最流行的键值对存储数据库&#xff0c;凭借高性能和丰富的数据类型的特性&#xff0c;不仅可以作为缓存&#xff0c;还可以作为一个可持久化的数据库存储。随着业务的发展和版本的迭代&#xff0c;必然会遇到内存不足、集群节点不够和BUG等一系列问题。为了防止这些…

ubuntu基本配置

记录一下每次重新安装系统之后都要进程的操作 更新源 更新源的教程 sudo bash -c "cat << EOF > /etc/apt/sources.list && apt update deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb-src http://mirrors.a…

Spring整合RabbitMQ-注解方式

maven导入 <dependency><groupId>org.springframework.amqp</groupId><artifactId>spring-rabbit</artifactId><version>2.2.7.RELEASE</version></dependency>5.2.1 消息的生产者 import org.springframework.amqp.core.Mes…

1-4 AUTOSAR方法论

总目录——AUTOSAR入门详解AUTOSAR入门详解目录汇总&#xff1a;待续中。。。https://xianfan.blog.csdn.net/article/details/132818463 目录 一、前言 二、方法论 三、单个ECU开发流程 一、前言 汽车生产供应链上有以下角色&#xff1a;OEM、TIER1、TIER2&#xff0c;其主…