C++笔试强训day18

目录

1.压缩字符串

2.chika和蜜柑

3.01背包


1.压缩字符串

链接

注意细节:

1.数量为一个时不用输出个数

2.当数量超过 9 时,需要逐个拿出 n 的位数,如153次,需要拿出1、5、3三个数

详细代码:

class Solution {
public:int Check(int x) {int cnt = 0;while (x) {x /= 10;cnt++;}return cnt;}string compressString(string param) {string ret;for (int i = 0; i < param.size(); ++i) {int tmp = param[i];int cnt = 0;while (param[i] == tmp) {cnt++;i++;}ret += tmp;if (cnt > 1) {int n = Check(cnt);if (n > 1) {while (cnt) {int i = pow(10, n - 1);ret += cnt / i + '0';cnt %= i;n--;}if (n){ret += '0';n--;}}else if (n == 1){ret += cnt + '0';}}i--;}return ret;}
};

2.chika和蜜柑

链接

经典的TopK问题,取头几个最大甜度,注意排序逻辑:

比较规则是:首先比较第二个元素的值,如果它们不相等,则按照第二个元素的值从大到小排序;如果第二个元素的值相等,则按照第一个元素的值从小到大排序。

    sort(arr, arr + n, [&](const PII& a, const PII& b)
        {
            if (a.second != b.second)
                return a.second > b.second;
            else
                return a.first < b.first;
        });

详细代码:

#include <iostream>
#include <algorithm>
#define int long long
using namespace std;
typedef pair<int, int> PII;// (酸,甜)
const int N = 2e5 + 10;
PII arr[N];signed main()
{int n, k;cin >> n >> k;for (int i = 0; i < n; ++i)cin >> arr[i].first;for (int i = 0; i < n; ++i)cin >> arr[i].second;sort(arr, arr + n, [&](const PII& a, const PII& b){if (a.second != b.second)return a.second > b.second;elsereturn a.first < b.first;});int sums = 0;int sumt = 0;for (int i = 0; i < k; ++i){sums += arr[i].first;sumt += arr[i].second;}cout << sums << ' ' << sumt << endl;return 0;
}

3.01背包

链接

01背包模版题:

class Solution {
public:const static int N = 1010;int v[N];int w[N];int dp[N][N] = { 0 };int knapsack(int V, int n, vector<vector<int> >& vw) {for(int i = 0; i < vw.size(); ++i){v[i + 1] = vw[i][0];w[i + 1] = vw[i][1];}for(int i = 1; i <= n; ++i){for(int j = 1; j <= V; ++j){dp[i][j] = dp[i - 1][j];if(j - v[i] >= 0)dp[i][j] = max(dp[i - 1][j], dp[i - 1][j -v[i]] + w[i]);}}return dp[n][V];}
};

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

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

相关文章

二叉树进阶 --- 中

目录 1. find 的递归实现 2. insert 的递归实现 3. erase 的递归实现 3.1. 被删除的节点右孩子为空 3.2. 被删除的节点左孩子为空 3.3. 被删除的节点左右孩子都不为空 4. 析构函数的实现 5. copy constructor的实现 6. 赋值运算符重载 7. 搜索二叉树的完整实现 1. fi…

【嵌入式开发 Linux 常用命令系列 7.5 -- awk 过滤指定列的字符串】

文章目录 背景 背景 问题&#xff1a; 以逗号为分隔符从test_data.h的第27409行开始找出第2列不为0x00000000的行。 为了寻找从test_data.h文件的第27409行开始&#xff0c;第2列不为0x00000000的行&#xff08;假设字段是以逗号分隔的&#xff09;&#xff0c;我们可以使用a…

树的基本介绍

引入 定义 表示 相关概念 结点&#xff1a;数据元素与指向分支的指针两部分组成 树的深度&#xff1a;树中结点的最大层次 将树A结点(根结点)去掉&#xff0c;树A就变成了森林 区别 实现

再谈毕业论文设计投机取巧之IVR自动语音服务系统设计(信息与通信工程A+其实不难)

目录 举个IVR例子格局打开&#xff0c;万物皆能IVR IVR系统其实可盐可甜。还能可圈可点。 戎马一生&#xff0c;归来依然IVR。 举个IVR例子 以下是IVR系统的一个例子。 当您拨打电话进入IVR系统。 首先检验是否为工作时间。 如是&#xff0c;您将被送入ivr-lang阶段&#xff0…

管道液位传感器可以应用在哪些领域

管道液位传感器是一种利用光学原理来检测水管液位的传感器&#xff0c;其工作原理基于光线在水和空气中折射率不同的特性。通过光电管道传感器&#xff0c;可以有效解决传统机械式传感器存在的低精度、卡死失效等问题&#xff0c;同时也避免了电容式传感器因感度衰减而导致的不…

【Linux笔记】 基础指令(二)

风住尘香花已尽 日晚倦梳头 重命名、剪切指令 -- mv 简介&#xff1a; mv 命令是 move 的缩写&#xff0c;可以用来移动文件或者将文件改名&#xff0c;是 Linux 系统下常用的命令&#xff0c;经常用来备份文件或者目录 语法&#xff1a; mv [选项] 源文件或目录 目标文件或目录…

泵站远程启停

随着物联网技术的迅猛发展&#xff0c;传统泵站的管理方式正面临前所未有的变革。在这一变革的浪潮中&#xff0c;HiWoo Cloud平台凭借其卓越的技术实力和创新理念&#xff0c;为泵站远程启停控制带来了全新的解决方案。本文将详细介绍HiWoo Cloud平台在泵站远程启停方面的应用…

红魔6/6pro9008救砖刷机详细教程

1. 安装驱动和打开工具&#xff1a; - 首先安装高通Qualcomm驱动。 - 安装完成后&#xff0c;以管理员权限打开Qualcomm_tool高通工具。 2. 选择引导文件&#xff1a; - 选择引导刷机包内的ELF引导文件&#xff0c;并点击打开。 3. 配置rawprogram XML文件&#xff1a; - 点击r…

react 用合计项

在React中&#xff0c;如果你想要计算一个数组中的所有项目&#xff0c;你可以使用reduce方法。这是一个JavaScript内置的数组方法&#xff0c;它允许你累计数组中的值。 以下是一个简单的React组件示例&#xff0c;它计算一个商品列表中所有商品的总价&#xff1a; import…

vue3中element Plus插槽

<el-table-column property"" label"操作" width"200" show-overflow-tooltip><template #default"scope"><span click"handleSimilarQuestion(scope.row)">相似问</span><span click"hand…

vivado Spartan-7 配置存储器器件

下表所示闪存器件支持通过 Vivado 软件对 Spartan -7 器件执行擦除、空白检查、编程和验证等配置操作。 本附录中的表格所列赛灵思系列非易失性存储器将不断保持更新 &#xff0c; 并支持通过 Vivado 软件对其中所列非易失性存储器 进行擦除、空白检查、编程和验证。赛灵…

礼赞劳动节,致敬劳动者。节日随想:疾笔耕耘也是一种劳动方式。

马克思也快诞辰了206年了&#xff0c;恩格斯领导的第二国际通过的决议节日也迎来了134岁的生日了&#xff0c;我也继续在劳动的路上。 五月是值得纪念的日子&#xff0c;作为一名无上光荣的分子&#xff0c;无比仰慕崇拜的两位先驱前辈大胡子&#xff0c;其一 生于斯&#xff0…

VTK官方示例

VTK官方示例 -vtk字體 #!/usr/bin/env python# noinspection PyUnresolvedReferences import vtkmodules.vtkInteractionStyle # noinspection PyUnresolvedReferences import vtkmodules.vtkRenderingFreeType # noinspection PyUnresolvedReferences import vtkmodules.vtk…

标准参编征集|《第三方运维服务水平评价指南 工业废水处理设施》

目前&#xff0c;对于工业废水处理设施第三方运维服务的标准&#xff0c;国家和行业未曾出台有针对性的评价标准和规范&#xff0c;工业企业和工业园区对第三方运维服务的监督、考核、评价体系需要进一步补充和完善。 本标准的编制旨在帮助第三方运营单位从运营技术和管理举措…

PDF文件恢复:四种实用方法全解析

如何恢复已删除的PDF文件&#xff1f; PDF是Portable Document Format&#xff08;便携式文档格式&#xff09;的缩写&#xff0c;是一种由Adobe Systems开发的文件格式。PDF文件可以包含文本、图形、链接、多媒体以及其他各种元素&#xff0c;并且能够在各种操作系统和设备上…

[数据集][目标检测]纸箱子检测数据集VOC+YOLO格式8375张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;8375 标注数量(xml文件个数)&#xff1a;8375 标注数量(txt文件个数)&#xff1a;8375 标注…

车辆充电桩|基于Springboot+vue的车辆充电桩管理系统的设计与实现(源码+数据库+文档)

车辆充电桩管理系统 目录 基于Springboot&#xff0b;vue的车辆充电桩管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1 前台功能模块 4.1.1 首页功能 4.1.2 用户后台管理 2 后台功能模块 4.2.1 管理员功能 4.2.2 维修员功能 四、数据库设计 五、核…

解决“电脑开机黑屏Explorer进程卡死“问题

今天&#xff0c;给台式机按电源键&#xff0c;进入windows系统时&#xff0c;发现电脑黑屏了&#xff0c;昨天还好好的&#xff0c;怎么今天电脑桌面进不去了&#xff1f;想起Windows XP、Windows 7、Windows 10 、Windows 11等系统&#xff0c;在使用多个文件拷贝时&#xff…

AI写作推荐-写文ai-AI在线写作生成器-3步完成写作任务

AI写作利器&#xff1a;推荐几款神助攻文案创作工具 随着技术的进步&#xff0c;人工智能&#xff08;AI&#xff09;已达到高级水平&#xff0c;在众多领域展现其强大能力。 在文本创作的领域&#xff0c;人工智能&#xff08;AI&#xff09;应用已显著地提升了写作效率和创意…

Python混淆矩阵用例

&#x1f4dc;用例 &#x1f4dc;Python社群纽带关系谱和图神经 | &#x1f4dc;多标签混淆矩阵模型 | &#x1f4dc;二元分类分层混淆矩阵模型 | &#x1f4dc;混淆矩阵评估特征归因 ✒️梗概 混淆矩阵是评估分类模型性能的有用工具。 该矩阵通过将预测值与实际值进行比较&…