当前位置: 首页 > news >正文

笔试强训未触及题目(个人向)

1.DP22 最长回文子序列

1.题目

2.解析

这是一个区间dp问题,我们让dp[i][j]表示在区间[i,j]内的最长子序列长度,如图:

3.代码

public class LongestArr {//DP22 最长回文子序列public static void main(String[] args) {Scanner in = new Scanner(System.in);char[] arr = in.next().toCharArray();//让dp[i][j]表示在区间i,j内的最长子序列长度//dp[i][j]=当arr[i]==arr[j]时为dp[i+1][j-1]+2;//当arr[i]!=arr[j]时因为arr[i]和arr[j]其一肯定//有一个不在子序列中,所以dp[i][j]=Math.max(dp[i+1][j],dp[i][j-1]);int n = arr.length;int[][] dp = new int[n][n];//初始化,当i=j时为1,i>j时为0(因为长度为负数不能算有字符串,i<j时要计算,最后取dp[0][n-1])for (int i = n - 1; i >= 0; i--) {for (int j = i; j < n; j++) {if (j == i) {dp[i][j] = 1;} else {if (arr[i] == arr[j]) {dp[i][j] = dp[i + 1][j - 1] + 2;} else {dp[i][j] = Math.max(dp[i + 1][j], dp[i][j - 1]);}}}}System.out.print(dp[0][n - 1]);}
}

2.数组变换

1.题目

2.解析

那么综上所述我们只要知道最大的数是否能和其他数匹配就行,但是问题来了,怎么知道它们是否匹配呢。我们可以先让最大数除以另一个想要与之匹配的数,若除不尽,则不能匹配,若除尽,则判断商是否为2的n次方。这里除尽除不尽用%小数来表示。那怎么判断是否为2的n次方呢,这里有三种方式,一种是暴力求法,让这个数无限/2,%2即可,第二种是lowbit算法,判断x-(x&-x)是否为0,第三种就是之前做过的判断1的位数的位运算方法,因为我们只需要判断是否只有1位1,所以,判断x&(x-1)是否为0即可。下文采用的是lowbit算法。

3.代码

public class demo2 {//数组变换public static void main(String[] args) {Scanner in = new Scanner(System.in);//取最大的数和其余的数做比较,看这个数能否变成这个最大的数//输入时判断最大数int n = in.nextInt();int max = 0;int[] arr = new int[n];for (int i = 0; i < n; i++) {int tem = in.nextInt();if (i == 0) {max = tem;} else max = Math.max(tem, max);arr[i] = tem;}for (int i = 0; i < n; i++) {//判断能否变为最大的数if (max % arr[i] == 0) {int s = max / arr[i];if (s - (s & -s) != 0) {System.out.print("NO");return;}} else {System.out.print("NO");return;}}System.out.print("YES");}
}

3.DP10 最大子矩阵

1.题目


2.解析

在判断矩阵最大大小之前,我们肯定要枚举所有矩阵,如图:

for(int x1=0;x1<n;x1++) {for(int y1=0;y1<n;y1++) {for(int x2=x1;x2<n;x2++) {for(int y2=y1;y2<n;y2++) {//这里写判断大小的一系列逻辑                    }}}

我们要计算矩阵内部的和,有两种方法,一种是暴力解法,用两层for循环来一个一个加起来,但是这样时间复杂度就是O(n^2)加上外部循环就是 O(n^6)。所以我们用第二种方法,前缀和如图:

那么如何使用呢?如图:

最后比较最大值就行


3.代码

 public static void main(String[] args) {Scanner in = new Scanner(System.in);int n=in.nextInt();//输入数据int[][] arr=new int[n][n];for(int i=0;i<n;i++) {for(int j=0;j<n;j++) {arr[i][j]=in.nextInt();}}//用二维dp计算前缀和//dp[i-1][j-1]表示(0,0)到(i,j)的前缀和大小//初始化int[][] dp=new int[n+1][n+1];for(int i=1;i<=n;i++) {for(int j=1;j<=n;j++) {dp[i][j]=dp[i][j-1]+dp[i-1][j]-dp[i-1][j-1]+arr[i-1][j-1];}}//枚举每一块矩阵int max=-0x3f3f3f3f;for(int x1=0;x1<n;x1++) {for(int y1=0;y1<n;y1++) {for(int x2=x1;x2<n;x2++) {for(int y2=y1;y2<n;y2++) {int tem=dp[y2+1][x2+1]-dp[y2+1][x1]-dp[y1][x2+1]+dp[y1][x1];if(max<tem) {max=tem;}}}}}System.out.print(max);}

相关文章:

笔试强训未触及题目(个人向)

1.DP22 最长回文子序列 1.题目 2.解析 这是一个区间dp问题&#xff0c;我们让dp[i][j]表示在区间[i&#xff0c;j]内的最长子序列长度&#xff0c;如图&#xff1a; 3.代码 public class LongestArr {//DP22 最长回文子序列public static void main(String[] args) {Scanner…...

【YOLO改进】换遍MMDET主干网络之EfficientNet(基于MMYOLO)

EfficientNet EfficientNet是Google在2019年提出的一种新型卷积神经网络架构&#xff0c;其设计初衷是在保证模型性能的同时&#xff0c;尽可能地降低模型的复杂性和计算需求。EfficientNet的核心思想是通过均衡地调整网络的深度&#xff08;层数&#xff09;、宽度&#xff0…...

uniapp下拉选择组件

uniapp下拉选择组件 背景实现思路代码实现配置项使用尾巴 背景 最近遇到一个这样的需求&#xff0c;在输入框中输入关键字&#xff0c;通过接口查询到结果之后&#xff0c;以下拉框列表形式展现供用户选择。查询了下uni-app官网和项目中使用的uv-ui库&#xff0c;没找到符合条…...

高斯数据库创建函数的语法

CREATE FUNCTION 语法格式 •兼容PostgreSQL风格的创建自定义函数语法。 CREATE [ OR REPLACE ] FUNCTION function_name ( [ { argname [ argmode ] argtype [ { DEFAULT | : | } expression ]} [, …] ] ) [ RETURNS rettype [ DETERMINISTIC ] | RETURNS TABLE ( { column_…...

【.NET Core】你认识Attribute之CallerMemberName、CallerFilePath、CallerLineNumber三兄弟

你认识Attribute之CallerMemberName、CallerFilePath、CallerLineNumber三兄弟 文章目录 你认识Attribute之CallerMemberName、CallerFilePath、CallerLineNumber三兄弟一、概述二、CallerMemberNameAttribute类三、CallerFilePathAttribute 类四、CallerLineNumberAttribute 类…...

ubuntu删除opencv

要完全删除OpenCV 3.4.5版本&#xff0c;你可以按照以下步骤进行操作&#xff1a; 卸载OpenCV库&#xff1a; 首先&#xff0c;你需要卸载OpenCV 3.4.5版本。可以使用以下命令卸载OpenCV库&#xff1a; sudo apt-get purge libopencv*这将删除OpenCV库及其相关文件。 删除O…...

K8s源码分析(二)-K8s调度队列介绍

本文首发在个人博客上&#xff0c;欢迎来踩&#xff01; 本次分析参考的K8s版本是 文章目录 调度队列简介调度队列源代码分析队列初始化QueuedPodInfo元素介绍ActiveQ源代码介绍UnschedulableQ源代码介绍**BackoffQ**源代码介绍队列弹出待调度的Pod队列增加新的待调度的Podpod调…...

OpenGL ES 面试高频知识点(二)

说说纹理常用的采样方式? 最邻近点采样(GL_NEAREST)和双线性采样(GL_LINEAR)。 GL_NEAREST 采样是 OpenGL 默认的纹理采样方式,OpenGL 会选择中心点最接近纹理坐标的那个像素,纹理放大的时候会有锯齿感或者颗粒感。 **GL_LINEAR 采样会基于纹理坐标附近的纹理像素,计…...

2024第十六届“中国电机工程学会杯”数学建模A题B题思路分析

文章目录 1 赛题思路2 比赛日期和时间3 竞赛信息4 建模常见问题类型4.1 分类问题4.2 优化问题4.3 预测问题4.4 评价问题 5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 比赛日期和时间 报名截止时间&#xff1a;2024…...

面向对象的三大特性:封装、继承、多态

一、封装 封装是面向对象的核心思想。是以类为载体&#xff0c;将对象的属性和行为封装起来&#xff0c;对外隐藏其实现细节。 封装保证了类内部数据结构的完整性&#xff0c;使得外部&#xff08;使用该类的用户&#xff09;不能轻易地直接操作此数据结构&#xff0c;只能执…...

目标检测YOLO实战应用案例100讲-基于深度学习的交通场景多尺度目标检测算法研究与应用(中)

目录 3.4 实验结果与分析 深度融合注意力跨尺度复合空洞残差交通目标检测算法...

前端GET请求下载后端返回数据流文件,并且处理window.open方法跳转白屏方法

平时常用导出都是用window.open方法 点击跳转连接&#xff1a;使用 window.open 下载 const downError 地址?&参数${参数|| }; const downError Url/xxx/xxx?&orgId${orgId || };window.open(downError, "_self");//调用window.open方法导出 而使用…...

SD321放大器3V输入电流电压保护二极管25C电源电流

Sd 321运算放大器可以在单电源或双电源电压下工作&#xff0c; 可以使用最坏情况下的非反相单位增益连接来适应。如 具有真微分输入&#xff0c;并且保持在线性模式&#xff0c;输入共模电压 果放大器必须驱动较大的负载电容&#xff0c;则应使用较大的闭 为0。Vpc-这种放大器可…...

geoserver SQL注入、Think PHP5 SQL注入、spring命令注入

文章目录 一、geoserver SQL注入CVE-2023-25157二、Think PHP5 SQL注入三、Spring Cloud Function SpEL表达式命令注入&#xff08;CVE-2022-22963&#xff09; 一、geoserver SQL注入CVE-2023-25157 介绍&#xff1a;GeoServer是一个开源的地理信息系统&#xff08;GIS&#…...

scrapy的入门

今天我们先学习一下scrapy的入门,Scrapy是一个快速的高层次的网页爬取和网页抓取框架&#xff0c;用于爬取网站并从页面中提取结构化的数据。 1. scrapy的概念和流程 1.1 scrapy的概念 我们先来了解一下scrapy的概念,什么是scrapy: Scrapy是一个Python编写的开源网络爬虫框架…...

大数据Scala教程从入门到精通第七篇:Scala在IDEA中编写Hello World

一&#xff1a;Scala在IDEA中编写Hello World 想让我们的idea支持scala的编写&#xff0c;需要安装一个插件。...

设计模式之数据访问对象模式

在Java编程的浩瀚星海中&#xff0c;有一个模式低调却强大&#xff0c;它像是一位默默无闻的超级英雄&#xff0c;支撑起无数应用的数据脊梁——那就是数据访问对象&#xff08;DAO, Data Access Object&#xff09;模式&#xff01;想象一下&#xff0c;如果你能像操纵魔法一样…...

Spring aop切面编程

Spring aop切面编程 如何使用利用AuditAction创建切入点 如何使用 Aspect // 1. 创建一个类&#xff0c;用Aspect注解标记它&#xff0c;表明这是一个切面类。 Component public class LoggingAspect {// 2. 定义切点&#xff1a;在通知方法上&#xff0c;使用切点表达式来指定…...

如何更好地使用Kafka? - 事先预防篇

要确保Kafka在使用过程中的稳定性&#xff0c;需要从kafka在业务中的使用周期进行依次保障。主要可以分为&#xff1a;事先预防&#xff08;通过规范的使用、开发&#xff0c;预防问题产生&#xff09;、运行时监控&#xff08;保障集群稳定&#xff0c;出问题能及时发现&#…...

如何解决 IPA 打包过程中的 “Invalid Bundle Structure“ 错误

哈喽&#xff0c;大家好呀&#xff0c;淼淼又来和大家见面啦&#xff0c;咱们行业内的应该都知道&#xff0c;在开发 iOS 应用时&#xff0c;将应用打包成 IPA 文件是常见的步骤之一。最近很多小伙伴们说在打包过程中&#xff0c;有时会遇到 "Invalid Bundle Structure&qu…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

什么是Ansible Jinja2

理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具&#xff0c;可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板&#xff0c;允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板&#xff0c;并通…...

Reasoning over Uncertain Text by Generative Large Language Models

https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...

AGain DB和倍数增益的关系

我在设置一款索尼CMOS芯片时&#xff0c;Again增益0db变化为6DB&#xff0c;画面的变化只有2倍DN的增益&#xff0c;比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析&#xff1a; 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

WebRTC从入门到实践 - 零基础教程

WebRTC从入门到实践 - 零基础教程 目录 WebRTC简介 基础概念 工作原理 开发环境搭建 基础实践 三个实战案例 常见问题解答 1. WebRTC简介 1.1 什么是WebRTC&#xff1f; WebRTC&#xff08;Web Real-Time Communication&#xff09;是一个支持网页浏览器进行实时语音…...

python爬虫——气象数据爬取

一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用&#xff1a; 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests&#xff1a;发送 …...