C++笔试强训day39

目录

1.神奇的字母(二)

2.字符编码

3.最少的完全平方数


1.神奇的字母(二)

链接icon-default.png?t=N7T8https://ac.nowcoder.com/acm/problem/205832



看输出描述即可知输出次数最多的那个字母即可。

哈希表直接秒了:

#include <iostream>
#include <string>
using namespace std;
int cnt[26];
int m_cnt, keyi;
int main() {string s;while (getline(cin, s)){for (auto c : s)if (c != ' ')cnt[c - 'a']++;for (int i = 0; i < 26; ++i){if (cnt[i] > m_cnt){m_cnt = cnt[i];keyi = i;}}}char ret = 'a' + keyi;cout << ret << endl;return 0;
}

2.字符编码

链接icon-default.png?t=N7T8https://www.nowcoder.com/practice/c471efdbd33a4a979539a91170c9f1cb?tpId=128&tqId=33774&ru=/exam/oj

即为哈夫曼编码:与该篇中的模版题极为相似-》模版icon-default.png?t=N7T8https://blog.csdn.net/cy18779588218/article/details/139304233?spm=1001.2014.3001.5501

#include <functional>
#include <iostream>
#include <queue>
#include <vector>
#define int long long
using namespace std;signed main() {string s;while (cin >> s) {int ret = 0;int cnt[250] = { 0 };for (auto c : s)cnt[c]++;priority_queue<int, vector<int>, greater<int>> pq;for (int n : cnt)if (n != 0)pq.push(n);while (pq.size() != 1) {int top1 = pq.top();pq.pop();int top2 = pq.top();pq.pop();ret += (top1 + top2);pq.push(top1 + top2);}cout << ret << endl;}return 0;
}

3.最少的完全平方数

链接icon-default.png?t=N7T8https://www.nowcoder.com/practice/4b2f5d4c00f44a92845bdad633965c04?tpId=230&tqId=40431&ru=/exam/oj

类似完全背包题目:

搞清楚他的状态表示{

        dp[i][j] : 从前i个数中挑选,总和恰好为j时,需要挑选的最少个数

}就很好做题了。(不过要先了解过完全背包

注意留意他的初始化,因为是去最小值,所以可以直接将dp表初始化为INT_MAX,然后初始化一下填表需要用到的位置:

#include <iostream>
#include <cmath>
#include <cstring>
using namespace std;int arr[110];
int dp[110][10010];
int n;int main()
{cin >> n;for(int i = 1; i <= 100; ++i)arr[i] = i * i;int r = sqrt(n);memset(dp, 0x3f, sizeof dp);for(int i = 1; i <= r; ++i)dp[i][0] = 0;for(int i = 1; i <= r; ++i){for(int j = 1; j <= n; ++j){dp[i][j] = dp[i - 1][j];if(j >= arr[i])dp[i][j] = min(dp[i - 1][j], dp[i][j - arr[i]] + 1);}}cout << dp[r][n] << endl;return 0;
}

当然,也可以进行空间优化。

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

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

相关文章

一维时间序列突变检测方法(小波等,MATLAB R2021B)

信号的突变点检测问题是指在生产实践中&#xff0c;反映各种系统工作状态的信号&#xff0c;可能因为受到不同类型的噪声或外界干扰而发生了信号突变&#xff0c;导致严重失真的信号出现&#xff0c;因此必须探测突变出现的起点和终点。研究目的在于设计出检测方案&#xff0c;…

CPU内部结构窥探·「2」

从一条汇编加法指令出发&#xff0c;分析cpu内部发生了什么&#xff1f; 本文将详细剖析ARMv8架构中加法指令的执行过程&#xff0c;深入理解其在CPU上的运行机制。 ARMv8汇编基础 在ARMv8汇编语言中&#xff0c;加法指令ADD的基本格式如下&#xff1a; ADD destination, s…

【python】python租房数据分析可视化(源码+数据+报告)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

在Go语言中如何使用变量

1. 变量 Go 中的变量是标识符。例如&#xff0c;我们可能需要存储客户的电子邮件地址&#xff0c;但还需要确保它是有效的。这种情况下&#xff0c;可以创建一个名为 email 的变量来存储电子邮件的值。电子邮件地址可以分配给 email 变量。 变量引用一个内存地址&#xff0c;赋…

OpenCV学习(4.3) 图像阈值

1.目的 在本教程中&#xff1a; 你会学到简单阈值法&#xff0c;自适应阈值法&#xff0c;以及 Otsu 阈值法(俗称大津法)等。你会学到如下函数&#xff1a;**cv.threshold&#xff0c;cv.adaptiveThreshold** 等。 2.简单阈值法 此方法是直截了当的。如果像素值大于阈值&am…

word2016版本中同时显示多个页面

为了方便查看word内容&#xff0c;我们会将多个页面同时显示。 对于2016版&#xff0c;操作方法如下&#xff1a; 视图 ---》多页

Jan任意文件读取/下载和上传漏洞

自从ChatGPT横空出世以来&#xff0c;我一直想找一个可以自己训练的AI大模型&#xff0c;然而在使用Jan的过程中&#xff0c;数据包中传递的参数引起了我的兴趣&#xff0c;简单尝试后发现了任意文件读取和任意文件上传漏洞。 简介 Jan是ChatGPT的开源替代品&#xff0c;它在…

vuInhub靶场实战系列--bulldog-1

免责声明 本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关。 目录 免责声明前言一、环境配置1.1 靶场信息1.2 靶场配置 二、信息收集2.1 主机发现2.1.1 netdiscover2.1.2 nmap主机扫描2.1.3 arp-scan主机扫描 2.2 端口扫描…

友思特案例 | 自动快速定位:使用波长选择器测量滤光片的关键光学性能指标

导读 光学滤光片检测的手动调节校准的传统方法存在诸多不确定误差和高昂的成本消耗。友思特全自动可调谐光源检测解决方案&#xff0c;可全自动调节波长带宽&#xff0c;快速收集光谱数据&#xff0c;缩短检测时间、降低质检成本&#xff0c;实现极高的准确率和快速检测效率。…

RA8D1-Vision Board上OSPI-Flash实践

Vision-Board 开发板是 RT-Thread 推出基于瑞萨 Cortex-M85 架构 RA8D1 芯片,拥有Helium和TrustZone技术的加持,性能非常强大。 内核:480 MHz Arm Cortex-M85,包含Helium和TrustZone技术 存储:集成2MB/1MB闪存和1MB SRAM(包括TCM,512KB ECC保护) 外设:兼容xSPI的四线O…

gorse修改开源项目后,如何使用Docker compose发布

代码修改 git checkout v0.4.15 修改代码后提交。 镜像构建 export GOOSlinux export GOARCHamd64 export GOMAXPROCS8go build -ldflags"-s -w -X github.com/zhenghaoz/gorse/cmd/version.Version$(git describe --tags $(git rev-parse HEAD)) -X github.com/zhengh…

如何在强数据一致性要求下设计数据库的高可用架构

在高可用的三大架构设计(基于数据层的高可用、基于业务层的高可用,以及融合的高可用架构设计)中。仅仅解决了业务连续性的问题:也就是当服务器因为各种原因,发生宕机,导致MySQL 数据库不可用之后,快速恢复业务。但对有状态的数据库服务来说,在一些核心业务系统中,比如…

运营商卷大模型,云厂商霸主地位不保?

文&#xff5c;艺 思 编&#xff5c;王一粟 经过了2023年的小试牛刀&#xff0c;2024年&#xff0c;三大运营商带着大模型一路狂飙。 刚刚过去的5月&#xff0c;中国电信、中国移动、中国联通三大运营商集体完成了新一轮的大模型进化&#xff0c;特别是围绕大模型的研发与…

【区分vue2和vue3下的element UI TimePicker 时间选择器组件,分别详细介绍属性,事件,方法如何使用,并举例】

在 Vue 2 中&#xff0c;我们通常使用 Element UI 来实现时间选择器&#xff08;TimePicker&#xff09;组件。然而&#xff0c;在 Vue 3 中&#xff0c;Element UI 没有官方支持 Vue 3 的版本。但是&#xff0c;有一个名为 Element Plus 的库&#xff0c;它是 Element UI 的 V…

04--Tomcat

前言&#xff1a;本章整理tomcat的知识点&#xff0c;tomcat知识点相较nginx比较少&#xff0c;但是也是运维必会的软件&#xff0c;这里结合实际项目整理一下。 1、tomcat简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器&#xff0c;属于轻量级应用服务器&#x…

强烈安利10款手机App!

AI视频生成&#xff1a;小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频https://aitools.jurilu.com/ 1.听书神器——昊昊听书 昊昊听书app是一款专门为用户提供有声读物的应用程序。它不仅提供了各种类型的有声书籍&#xff0c;还有各种知名的电…

pw命令1

1、查看集群状态命令 gs_om -t status --detail 2、备节点升主&#xff08;本例子升2节点为主&#xff09; date && time cm_ctl switchover -n 2 -D /database/panweidb/data 3、cm_ctl是全局的&#xff0c;在一个节点运行 cm_ctl stop && cm_ctl start 就重…

铸铁机械5G智能工厂工业物联数字孪生平台,推进制造业数字化转型

铸铁机械5G智能工厂工业物联数字孪生平台&#xff0c;推进制造业数字化转型。工业物联数字孪生平台以5G技术为基础&#xff0c;通过工业物联网连接铸铁机械生产过程中的各个环节&#xff0c;运用数字孪生技术构建虚拟工厂&#xff0c;实现生产过程的实时监测、模拟与优化&#…

垃圾回收算法

垃圾回收基于“对象不再使用”的原则&#xff0c;自动检测并回收不再被引用的对象。JVM通过跟踪对象的引用关系来判断对象是否仍在使用中。当一个对象没有任何引用指向它时&#xff0c;垃圾回收器就会将其标记为可回收对象。 垃圾回收的工作机制 标记-清除&#xff08;Mark-S…

ros与硬件的交互

&#xff08;一&#xff09; 与usb相机的交互 第一个链接是 先从usb中拿到图像&#xff0c;然后再发布和订阅 【C】ROS&#xff1a;cv_bridge包使用与图像转换示例_cvbridge-CSDN博客 第二个链接是使用方法 ROS学习笔记--cv_bridge_cvbridge-CSDN博客 第三个链接是&#xff0c;…