1.作弊

溪染:六王毕,四海一;蜀山兀,阿房出。覆压三百余里,隔离天日。骊山北构而西折,直走咸阳。二川溶溶,流入宫墙。五步一楼,十步一阁;廊腰缦回,檐牙高啄;各抱地势,钩心斗角……

叁秋:还在背《阿房宫赋》啊。

溪染:(停下背书)明天就要测试了,难道不背?

叁秋:什么?明天要测试?我现在抱佛脚还来得及嘛?

溪染:也就十来篇文言文而已。哦,你比较笨,那估计来不及了

叁秋:(沉默几秒)救救孩子吧!

溪染:我想想办法,我把文言文先换成拼音,然后在考场用动作语言传给你怎么样?

叁秋:什么动作语言?

溪染:我们先规定一个规则好了,我用‘点头’和‘摇头’向你传递信息。

叁秋:然后呢?

溪染:比如用‘点头-摇头’代表‘a’,用‘点头-点头’代表‘b’。

叁秋:我知道了!‘c’就用‘点头-点头-点头’表示

溪染:没救了,你是真的傻!如果这样,那我‘点头-点头-点头-点头-点头-点头’表示什么?

叁秋:‘bbb’可以,‘cc’也行!!

溪染:对的,这样的规则就有歧义了,所以我们定义的任意2个规则,一个规则都不能是另一个的前缀,更不能相同!

叁秋:那这还不简单!我‘a’用‘点头-摇头’表示,‘b’用‘点头-点头-摇头’表示,‘c’用‘点头-点头-点头-摇头’表示,以此类推!

溪染:用你这个规则,我脖子可能就不在了!

溪染:我们应该找到一个规则,让我‘点头’and‘摇头’的次数和最少,这样的话即可以快速传递信息,被监考老师发现的几率也小—些。

叁秋:那我们改怎么规定规则呢?

溪染:现在我们把文言文转为拼音先

(过了一会儿)

溪染:我们已经知道到时候我该给你传递的信息了,我们稍加计算一下,就可以找到最好的规则了

叁秋:那怎么计算呢?

溪染:我都为你付出这么多了,怎么找到最好的规则就靠你自己了

(又过了一会儿)

叁秋实在不知道怎么计算,于是找到了你

输入描述

一行字符串S,(1≤|S|≤5×10^6),表示需要传达的信息,有可能是文言文拼音,S中仅包含小写英文字母。

输出描述

仅一行一个正整数表示问题的答案ans,表示传达信息所需最少的‘点头’and‘摇头’的次数之和。

示例1

输入

aaaaaa

输出

6

说明

‘a’用‘点头’代表即可

示例2

输入

abcabc

输出

10

说明

‘a’用‘点头’代表 ‘b’用‘摇头-点头’代表 ‘c’用‘摇头-摇头’代表

示例3

输入

havefuninthegame

输出

54

说明

解释那么长,这点地方够吗?

import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String s = sc.nextLine();int[] freq = new int[26]; // 统计每个小写字母的频率// 计算每个字符的出现频率for (char c : s.toCharArray()) {freq[c - 'a']++;}// 收集所有非零频率List<Integer> frequencies = new ArrayList<>();for (int count : freq) {if (count > 0) {frequencies.add(count);}}// 特殊情况:只有一种字符if (frequencies.size() == 1) {System.out.println(frequencies.get(0));return;}// 使用优先队列(最小堆)构建哈夫曼树PriorityQueue<Integer> minHeap = new PriorityQueue<>(frequencies);int totalActions = 0;// 合并节点直到堆中只剩一个节点while (minHeap.size() > 1) {int first = minHeap.poll();int second = minHeap.poll();int sum = first + second;totalActions += sum;minHeap.add(sum);}System.out.println(totalActions);}
}

2.牛牛的数组匹配

牛牛刚学会数组不久,他拿到两个数组a和b,询问b的哪一段连续子数组之和与数组a之和最接近。如果有多个子数组之和同样接近,输出起始点最靠左的数组。

输入描述

第一行输入两个正整数n和m,表示数组a和b的长度。第二第三行输入n个和m个正整数,表示数组中a和b的值。

输出描述

输出子数组之和最接近a的子数组。

示例1

输入

2 6

30 39

15 29 42 1 44 1

输出

29 42

示例 2

输入

6 1

50 47 24 19 46 47

2

输出

2

import java.util.*;public class Main{public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 读取数组a和b的长度int n = scanner.nextInt();int m = scanner.nextInt();// 读取数组a并计算其总和int[] a = new int[n];int sumA = 0;for (int i = 0; i < n; i++) {a[i] = scanner.nextInt();sumA += a[i];}// 读取数组b并计算前缀和int[] b = new int[m];for (int i = 0; i < m; i++) {b[i] = scanner.nextInt();}// 计算前缀和,prefixSum[0] = 0, prefixSum[1] = b[0], prefixSum[2] = b[0]+b[1], etc.long[] prefixSum = new long[m + 1];for (int i = 0; i < m; i++) {prefixSum[i + 1] = prefixSum[i] + b[i];}int bestStart = 0;int bestEnd = 0;long minDiff = Long.MAX_VALUE;// 遍历所有可能的起始位置for (int i = 0; i < m; i++) {// 目标值:sumA + prefixSum[i]long target = sumA + prefixSum[i];// 二分查找最接近目标值的结束位置int left = i + 1;int right = m;int j = i + 1;  // 默认结束位置while (left <= right) {int mid = left + (right - left) / 2;if (prefixSum[mid] == target) {j = mid;break;} else if (prefixSum[mid] < target) {j = mid;left = mid + 1;} else {right = mid - 1;}}// 检查j和j+1两个位置,找到更接近目标值的int candidates[] = {j, j + 1};for (int k : candidates) {if (k > m) continue;long currentSum = prefixSum[k] - prefixSum[i];long currentDiff = Math.abs(currentSum - sumA);// 更新最佳子数组if (currentDiff < minDiff ||(currentDiff == minDiff && i < bestStart)) {minDiff = currentDiff;bestStart = i;bestEnd = k - 1;  // 转换为数组b的索引}}}// 输出最佳子数组for (int i = bestStart; i <= bestEnd; i++) {System.out.print(b[i]);if (i < bestEnd) {System.out.print(" ");}}System.out.println();}
}

3.牛牛的四叶玫瑰数

牛牛最近学了水仙花数,但是他并不喜欢水仙花,因此他准备算出[l,r]区间内的四叶玫瑰数。

四叶玫瑰数:一个数的四个位置的数字的四次方加起来等于这个四位数本身的数。

输入描述

第一行输入两个正整数l,r,表示闭区间的两头r<=10000

输出描述

输出区间内的四叶玫瑰数,保证至少有一个

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 读取区间范围int l = scanner.nextInt();int r = scanner.nextInt();scanner.close();// 遍历区间内的每个数,检查是否为四叶玫瑰数for (int num = l; num <= r; num++) {// 四叶玫瑰数一定是四位数if (num < 1000 || num > 9999) {continue;}// 分解数字的四个位int thousands = num / 1000;int hundreds = (num % 1000) / 100;int tens = (num % 100) / 10;int units = num % 10;// 计算四个位的四次方之和int sum = (int)(Math.pow(thousands, 4) + Math.pow(hundreds, 4) +Math.pow(tens, 4) + Math.pow(units, 4));// 检查是否等于原数if (sum == num) {System.out.println(num);}}}
}

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

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

相关文章

注意力机制中为什么q与k^T相乘是注意力分数

要理解 “qkT\mathbf{q} \times \mathbf{k}^TqkT 是注意力分数”&#xff0c;核心是抓住注意力机制的本质目标 ——量化 “查询&#xff08;q&#xff09;” 与 “键&#xff08;k&#xff09;” 之间的关联程度&#xff0c;而向量点积&#xff08;矩阵相乘的元素本质&#xff…

Krea Video:Krea AI推出的AI视频生成工具

本文转载自&#xff1a;Krea Video&#xff1a;Krea AI推出的AI视频生成工具 - Hello123工具导航 ** 一、平台定位与技术特性 Krea Video 是 Krea AI 推出的 AI 视频生成工具&#xff0c;通过结合关键帧图像与文本提示实现精准视频控制。用户可自定义视频首尾帧、为每张图片设…

C++初阶(2)C++入门基础1

C是在C的基础之上&#xff0c;容纳进去了面向对象编程思想&#xff0c;并增加了许多有用的库&#xff0c;以及编程范式 等。熟悉C语言之后&#xff0c;对C学习有一定的帮助。 本章节主要目标&#xff1a; 补充C语言语法的不足&#xff0c;以及C是如何对C语言设计不合理的地方…

ANSI终端色彩控制知识散播(II):封装的层次(Python)——不同的逻辑“一样”的预期

基础高阶各有色&#xff0c;本原纯真动乾坤。 笔记模板由python脚本于2025-08-22 18:05:28创建&#xff0c;本篇笔记适合喜欢终端色彩ansi编码和python的coder翻阅。 学习的细节是欢悦的历程 博客的核心价值&#xff1a;在于输出思考与经验&#xff0c;而不仅仅是知识的简单复述…

前端无感刷新 Token 的 Axios 封装方案

在现代前端应用中&#xff0c;基于 Token 的身份验证已成为主流方案。然而&#xff0c;Token 过期问题常常困扰开发者 —— 如何在不打断用户操作的情况下自动刷新 Token&#xff0c;实现 "无感刷新" 体验&#xff1f;本文将详细介绍基于 Axios 的解决方案。什么是无…

【数据结构】线性表——链表

这里写自定义目录标题线性表链表&#xff08;链式存储&#xff09;单链表的定义单链表初始化不带头结点的单链表初始化带头结点的单链表初始化单链表的插入按位序插入带头结点不带头结点指定结点的后插操作指定结点的前插操作单链表的删除按位序删除&#xff08;带头结点&#…

容器安全实践(三):信任、约定与“安全基线”镜像库

容器安全实践&#xff08;一&#xff09;&#xff1a;概念篇 - 从“想当然”到“真相” 容器安全实践&#xff08;二&#xff09;&#xff1a;实践篇 - 从 Dockerfile 到 Pod 的权限深耕 在系列的前两篇文章中&#xff0c;我们探讨了容器安全的底层原理&#xff0c;并详细阐述…

百度面试题:赛马问题

题目现在有25匹马和一个赛马场&#xff0c;赛马场有5条跑道&#xff08;即一次只能比较5匹马&#xff09;&#xff0c;并且没有秒表等计时工具&#xff0c;因此每次赛马只能知道这5匹马的相对时间而非绝对时间。问&#xff1a;如何筛选出跑的最快的3匹马&#xff1f;需要比赛几…

centos下安装Nginx(搭建高可用集群)

CentOS-7下安装Nginx的详细过程_centos7安装nginx-CSDN博客 centos换yum软件管理包镜像 CentOS 7.* 更换国内镜像源完整指南_centos7更换国内源-CSDN博客 VMware虚拟机上CentOS配置nginx后,本机无法访问 执行命令&#xff1a;/sbin/iptables -I INPUT -p tcp --dport 80 -j…

实时视频技术选型深度解析:RTSP、RTMP 与 WebRTC 的边界

引言&#xff1a;WebRTC 的“光环”与现实落差 在实时音视频领域&#xff0c;WebRTC 常常被贴上“终极解决方案”的标签&#xff1a;浏览器原生支持、无需插件、点对点传输、毫秒级延迟&#xff0c;这些特性让它在媒体和开发者群体中拥有了近乎神话般的地位。许多人甚至认为&a…

基于深度学习的阿尔茨海默症MRI图像分类系统

基于深度学习的阿尔茨海默症MRI图像分类系统 项目概述 阿尔茨海默症是一种进行性神经退行性疾病&#xff0c;早期诊断对于患者的治疗和生活质量至关重要。本项目利用深度学习技术&#xff0c;基于MRI脑部扫描图像&#xff0c;构建了一个高精度的阿尔茨海默症分类系统&#xff0…

54 C++ 现代C++编程艺术3-移动构造函数

C 现代C编程艺术3-移动构造函数 文章目录C 现代C编程艺术3-移动构造函数场景1&#xff1a;动态数组资源转移 #include <iostream> #include <vector> class DynamicArray { int* data; size_t size; public: // 移动构造函数&#xff08;关键实现&#xf…

Sping Boot + RabbitMQ :如何在Spring Boot中整合RabbitMQ实现消息可靠投递?

Spring Boot整合RabbitMQ实现消息可靠投递全解析 在分布式系统中&#xff0c;消息中间件是解耦、异步、流量削峰的核心组件。RabbitMQ作为高可靠、易扩展的AMQP协议实现&#xff0c;被广泛应用于企业级场景。但消息传递过程中可能因网络波动、服务宕机等问题导致消息丢失&#…

STAR-CCM+|K-epsilon湍流模型溯源

【1】引言 三维CFD仿真经典软件很多&#xff0c;我接触过的有Ansys和STAR-CCM两种。因为一些机缘&#xff0c;我使用STAR-CCM更多&#xff0c;今天就来回顾一下STAR-CCM中K-epsilon湍流模型的基本定义。 【2】学习地址介绍 点击链接User Guide可以到达网页版本的STAR-CCM 24…

osgEarth 图像融合正片叠底

* 需求&#xff1a;* 高程渲染图 RGB.tif、 山体阴影图 AMP.tif** 高程渲染图 rgb波段分别 乘以 山体阴影图r波段&#xff0c; 然后除以255(AI说 读取的纹理就已经归一化到了 0~1 范围&#xff0c;不用除以 255)。本人遥感知识匮乏。问了AI,以上 需求在许多商业软件上已实现。…

Java接口响应速度优化

在 Java 开发中&#xff0c;接口响应速度直接影响用户体验和系统吞吐量。优化接口性能需要从代码、数据库、缓存、架构等多个维度综合考量&#xff0c;以下是具体方案及详细解析&#xff1a;一、代码层面优化代码是接口性能的基础&#xff0c;低效的代码会直接导致响应缓慢。1.…

A Large Scale Synthetic Graph Dataset Generation Framework的学习笔记

文章的简介 作者提出了一个可扩展的合成图生成框架&#xff0c;能够从真实图中学习结构和特征分布&#xff0c;并生成任意规模的图数据集&#xff0c;支持&#xff1a; 节点和边的结构生成节点和边的特征生成特征与结构的对齐&#xff08;Aligner&#xff09; 它区别于GraphWor…

Android12 Framework读写prop属性selinux报错解决

文章目录问题描述解决过程相关文章问题描述 Android读prop值时&#xff0c;就算是system应用&#xff0c; 也需要selinux权限&#xff0c;否则会报错。 java代码如下 SystemProperties.get("ro.input.resampling", "")selinux报错如下 2025-06-28 17:57:…

【图文版】AIOT 小智 AI 聊天机器人 ESP32 项目源码图解

前言 小智 AI 聊天机器人是最近一个很火的开源项目&#xff0c;它借助LLM大模型以及TTS等AI的能力&#xff0c;通过自然语言来与其对话实现交互。它可以回答任何问题、播放音乐、背诵古诗&#xff0c;颇有未来AI机器人的雏形。 因为最近工作上的需要对其进行了研究&#xff0c;…

250821-RHEL9.4上Docker及Docker-Compose的离线安装

在 离线环境下 在 RHEL (Red Hat Enterprise Linux) 系统上安装 Docker 和 Docker Compose&#xff0c;需要提前在有网络的环境中下载相关 RPM 包及依赖&#xff0c;然后在目标机器上进行安装。以下是比较完整的步骤&#xff1a; 1. Docker及Docker-Compose离线安装 在 RHEL 9.…