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.hqwc.cn/news/690341.html

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

相关文章

导出QQ好友列表、群列表、群员列表

MENU 准备工作在浏览器地址栏中输入地址使用F12快捷键打开开发者工具(浏览器控制台)点击头像登入网站(推荐)或手机扫码登录获取群列表获取好友列表获取群员列表 准备工作 一台带有浏览器的电脑 在浏览器地址栏中输入地址 https://qun.qq.com/member.html 使用F12快捷键打开开发…

AI边缘计算盒子优势有哪些?如何实现低延迟处理?

AI边缘计算盒子作为一种集成人工智能技术的边缘计算设备&#xff0c;其优势主要体现在以下几个方面&#xff0c;万物纵横为您详细介绍&#xff1a; 1. 低延迟处理 AI边缘计算盒子靠近数据产生源头&#xff0c;能够即时处理数据&#xff0c;大幅减少数据传输至云端的时间&#…

异常检测的学习和实战

1.应用&#xff1a; 1.在工业上的应用 当检测设备是否处于异常工作状态时&#xff0c;可以由上图分析得到&#xff1a;那些零散的点对应的数据是异常数据。因为设备大多数时候都是处于正常工作状态的&#xff0c;所以数据点应该比较密集地集中在一个范围内&#xff0c;而那些明…

Transformer模型详解03-Self-Attention(自注意力机制)

文章目录 简介基础知识什么是AttentionSelf Attention原理通俗易懂理解矩阵计算Q&#xff0c;K&#xff0c;V计算Self-Attention 的输出 优势 Multi-head self-attention原理通俗易懂理解矩阵计算代码实现 简介 下图是论文中 Transformer 的内部结构图&#xff0c;左侧为 Enco…

基于ChatGLM+Langchain离线搭建本地知识库(免费)

目录 简介 服务部署 实现本地知识库 测试 番外 简介 ChatGLM-6B是清华大学发布的一个开源的中英双语对话机器人。基于 General Language Model (GLM) 架构&#xff0c;具有 62 亿参数。结合模型量化技术&#xff0c;用户可以在消费级的显卡上进行本地部署&#xff08;INT…

信息系统架构模型_2.面向服务架构(SOA)模式

前面讲的客户机/服务器模式&#xff0c;无论多少层的C/S软件结构&#xff0c;对外来讲&#xff0c;都只是一个单结点应用&#xff08;无论它由多个不同层的“服务”相互配合来完成其功能&#xff09;&#xff0c;具体表现为一个门户网站、一个应用系统等。而多个单点应用相互通…

浅析SPI接口

SPI是串行外设接口&#xff08;Serial Peripheral Interface&#xff09;的缩写&#xff0c;它是一种同步串行通信接口&#xff0c;用于微控制器和外围设备&#xff08;如传感器、SD卡、其他微控制器等&#xff09;之间的通信。SPI接口通常用于短距离通信&#xff0c;因为它不支…

VR全景技术在养老院的应用优势浅析

随着时代的快速发展&#xff0c;人口老龄化越来越严重&#xff0c;如何利用VR技术提升养老服务的质量&#xff0c;成为了社会各界关注的焦点。为养老院拍摄制作VR全景&#xff0c;不仅能够为养老院的老人子女们跨越空间限制&#xff0c;实现与家人的情感连接&#xff0c;还可以…

The 2023 ICPC Asia Hefei Regional Contest

目录 B. Queue Sorting 应该还会再补几题 B. Queue Sorting 题解&#xff1a; Dilworth定理: 【偏序关系与偏序集、Hasse图、极大元、极小元、全序关系、最大元、良序集/三小时讲不完离散数学之集合论/考研复试/期末复习考前冲刺/近世代数/抽象代数】https://www.bilibili.c…

NX二次开发,在指定的装配节点下新建或者添加组件

目录 一、概述 二、存在的问题 三、在指定的装配节点下新建或者添加组件的实现 四、结果显示 一、概述 最近学习装配内容&#xff0c;说一说体会吧&#xff0c;用起来很爽&#xff0c;开发起开是真的别扭啊&#xff0c;而且&#xff0c;网上可以收到的关于装配的知识有很多…

element 输入框禁止输入空格以及复制的值进去删除空格(vue自定义指令)开箱即用

实例图&#xff1a; 代码&#xff1a; //输入框禁止输入空格 Vue.directive(noSpace, {bind(el) {//禁止输入空格el.addEventListener("keydown", function (event) {if (event.keyCode 32) {event.preventDefault();}});//复制值时去掉空格el.addEventListener(&q…

PY32F403系列单片机,32位M4内核MCU,主频最高144MHZ

PY32F403系列单片机是基于Arm Cortex-M4核的32位通用微控制器产品。内置的FPU和DSP功能支持浮点运算和全部DSP指令。通过平衡成本&#xff0c;性能&#xff0c;功耗来获得更好的用户体验。 PY32F403单片机典型工作频率可达144MHZ&#xff0c;内置高速存储器&#xff0c;丰富的…