【强训笔记】day18

NO.1
在这里插入图片描述
思路:双指针模拟。to_string将数字转化为字符。

代码实现:

class Solution {
public:string compressString(string param) {int left=0,right=0,n=param.size();string ret;while(right<n){while(right+1<n&&param[right]==param[right+1]) right++;int len=right-left+1;ret+=param[left];if(len>1){ret+=to_string(len);}left=right+1;right=left;}return ret;}
};

NO.2
在这里插入图片描述
思路:建立一个pair数组,第一个位置存放酸度,第二个位置存放甜度,再给数组进行排序,实现甜度大优先,如果甜度相同就选择酸度小的,最后将k个数据的甜度和酸度的总和输出就可以了。
在这里插入图片描述

代码实现:

#include<iostream>
#include<algorithm>using namespace std;const int N=2e5+10;
typedef pair<int,int> PII;
int n,k;
PII arr[N];int main()
{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;else return a.first<b.first;});long long s=0,t=0;for(int i=0;i<k;i++){s+=arr[i].first;t+=arr[i].second;}cout<<s<<" "<<t<<endl;return 0;
}

NO.3
在这里插入图片描述

思路:

  1. 状态表⽰:
    dp[i][j] 表⽰从前 i 个物品中挑选,总体积不超过 j 的情况下,最⼤重量是多少。
  2. 状态转移⽅程:
    根据「最后⼀步」的状况,来分情况讨论:
    i. 不选第 i 个物品:相当于就是去前 i - 1 个物品中挑选,并且总体积不超过 j 。此时 dp[i][j] = dp[i - 1][j] ;
    ii. 选择第 i 个物品:那么我就只能去前 i - 1 个物品中,挑选总体积不超过 j - v[i]
    的物品。此时 dp[i][j] = dp[i - 1][j - v[i]] + w[i] 。但是这种状态不⼀定存在,因此需要特判⼀下。
    综上,状态转移⽅程为: dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - v[i]] + w[i]) 。
    3.实现空间优化,二位变成一维。

代码实现:

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

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

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

相关文章

云存储的架构是由什么组成的?

云存储的架构主要是由存储层、基础管理层、应用接口层和访问层这几个部分组成的&#xff0c;接下来小编就具体的来介绍这几个组成部分。 一、存储层 存储层是云存储中的基础&#xff0c;存储层中包含了大量的存储设备&#xff0c;其中有网络附加设备和互联网小型计算机系统接口…

“幽灵“再临!新型攻击瞄准英特尔CPU;微软Outlook漏洞被俄利用,网络间谍攻击捷克德国实体 | 安全周报0510

1. 微软Outlook漏洞被俄罗斯APT28利用&#xff0c;捷克德国实体遭网络间谍攻击&#xff01; 捷克和德国于周五透露&#xff0c;他们成为与俄罗斯有关的APT28组织进行的长期网络间谍活动的目标&#xff0c;此举遭到欧洲联盟&#xff08;E.U.&#xff09;、北大西洋公约组织&…

序列练习.

利用0-9的平方生成一个整数列表 #第一种 num_list1[] for i in range(10):ii*inum_list1.append(i) print(num_list1)#第二种 num_list2[x*x for x in range(10)] print(num_list2) 输入一个月份数字&#xff0c;输出该月份对应的英文单词 xint(input(please input a month\…

【C++】CentOS环境搭建-快速升级G++版本

【C】CentOS环境搭建-快速升级G版本 1. 安装CentOS的软件集仓库&#xff1a;2. 安装你想要的devtoolset版本&#xff0c;例如devtoolset-9&#xff1a;3. 启用新版本的编译器&#xff1a;4. 检查G版本&#xff1a; 在CentOS系统中升级G编译器通常涉及使用devtoolset或者SCL&…

Ubuntu搭建VsCode C++ 开发环境

Ubuntu搭建VsCode C 开发环境 安装VS Code 使用命令来安装VS Code&#xff1a;他会下载vscode的最新版本。 sudo snap install --classic code如果不使用命令 的方式 在官网下载vscode安装包&#xff08; 后缀为 .deb的包 &#xff09;之后&#xff08;可以选择版本 &#x…

Selenium定位方法汇总及举例

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

Bpmn.js使用(仅查看版)

Bpmn.js使用&#xff08;仅查看版&#xff09; 下载 npm install bpmn-js创建一个 Dom 节点来挂载画布元素。 <a-tabs v-model:activeKey"activeKey" change"tabsChange"><a-tab-pane key"1" tab"审批记录"><a-tabl…

React 之 forwardRef用法(十六)

forwardRef 是 React 中的一个高级功能&#xff0c;它允许你将一个 ref 传递给子组件&#xff0c;即使该子组件是通过函数式组件定义的。这在某些情况下很有用&#xff0c;比如当你需要直接访问 DOM 元素或类组件的实例时。 vue则通过this.$refs.XX或this.$children访问子组件的…

mysql基础概念

文章目录 登录mysqlmysql和mysqld数据库操作主流数据库MYSQL架构SQL分类 登录mysql 登录mysql连接服务器&#xff0c;mysql连接时可以指明主机用-h选项&#xff0c;然后就可以指定主机Ip地址&#xff0c;-P可以指定端口号 -u指定登录用户 -P指定登录密码 查看系统中有无mysql&…

【退役之重学Java】Redis 的过期策略

Redis 的过期策略 一、假设设置一个key 只能存活1h&#xff0c;那么1h之后&#xff0c;Redis 是怎么对这批 key 进行删除的&#xff1f; 回答&#xff1a; 定期删除 惰性删除 所谓定期删除&#xff0c;指的是 Redis 默认每隔100ms 就随机抽取一些设置了过期时间的 key&…

解决离线服务器无法加载HuggingFaceEmbeddings向量化模型的问题

由于服务器是离线的&#xff0c;因此我先在本地到huggingface官网下载模型text2vec&#xff0c;然后上传到服务器上运行&#xff0c;报错&#xff1a; (MaxRetryError(HTTPSConnectionPool(host\huggingface.co\, port443): Max retries exceeded with url: /api/models/senten…

代码随想录——二叉树的层序遍历Ⅱ(Leetcode107)

题目链接 层序遍历&#xff08;队列&#xff09; /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, Tre…

### 【数据结构】线性表--顺序表(二)

文章目录 1、什么是线性表2、线性表的基本操作3、顺序表3.1、顺序表的定义3.2、顺序表的实现方式&#xff1a;静态分配3.3、顺序表的实现方式&#xff1a;动态分配3.4、顺序表的特点3.5、顺序表的初始化与插入操作3.6、顺序表的删除与查询 1、什么是线性表 ​ 线性表是具有相同…

常用的 Ansible 模块

以下是一些常用的 Ansible 模块&#xff1a; - ping 模块&#xff1a;用于检测目标主机是否可达。 - file 模块&#xff1a;可以管理文件和目录&#xff0c;如创建、删除、修改权限等。 - copy 模块&#xff1a;用于将本地文件复制到远程主机。 - service 模块&#xff1a;管…

【配置】IT-Tools部署

github地址 docker运行如下&#xff0c;记得打卡端口 docker run -d --name it-tools --restart unless-stopped -p 9090:80 corentinth/it-tools:latestip:9090查看&#xff0c;很香大部分工具都有

【神经网络】矩阵乘法的应用详解

文章目录 一、多维数组使用NumPy创建和操作多维数组 二、矩阵乘法矩阵乘法的基本定义计算 2x2 矩阵的乘积矩阵形状的要求特殊情况&#xff1a;矩阵与向量的乘积 三、神经网络中的矩阵乘法神经网络的结构简介矩阵乘法在神经网络中的应用计算细节和NumPy的实现 一、多维数组 多维…

一键追爆款,GPT一键改文‌‍‬⁣⁡​⁤⁢​⁢⁡⁣‬‍‌​​‬ ​‍⁤‬ ‬⁡⁡⁡‍‌‬⁡⁡⁢‬⁤⁢⁢⁤​‍‌​​‬ ​⁣‌,绘唐3,绘唐工具

ai画影满足你的制作要求 一键追爆款&#xff0c;GPT一键改文 AI推文小说&漫画解说&解压混剪 人物定义&#xff0c;角色定义&#xff0c;lora转换&#xff0c;模型转换&#xff0c;可视化参考满足 一键追爆款 一键挂机生成&#xff0c;效果更精彩&#xff0c;使用更方…

mysql 其他类型转换为BIT

看官网说明,BIT没什么特殊之处。但实际操作却不能将任何其他类型字段转为BIT,下面两个都报语法错误 CAST(column AS BIT(1)) AS aa , CAST(column AS BIT) AS bb, BIT value则模式是VARBINARY b1 as cc, -- cc为VARBINARY类型 下面是《高性能MySQL(第四版)》中关于BIT类型的…

C++随手写一个打字练习软件TL(TypeLetters)附原码

C随手写一个打字练习软件TL&#xff08;TypeLetters&#xff09;附原码 说明 软件名称&#xff1a;TL&#xff08;TypeLetters&#xff09; 开发语言&#xff1a;C 适合人群&#xff1a;零基础小白或C学习者 软件功能&#xff1a;打字练习软件TL&#xff08;TypeLetters&#…

解双曲型非线性方程的Harden-Yee算法(TVD格式)

解双曲型非线性方程的Harden-Yee算法 先贴代码&#xff0c;教程后面有空再写 import matplotlib import math matplotlib.use(TkAgg) import numpy as np import matplotlib.pyplot as plt def Phiy(yy,epsi):#phi(y)if abs(yy) > epsi:phiyy abs(yy)else:phiyy (yy*yy…