【强训笔记】day10

NO.1
在这里插入图片描述
思路:中心扩展。从i位置开始,从i-1为左边和i+1右边进行移动,字符相等就继续移动,直到不等,更新回文串长度,让i为左边,i+1右边再移动,同样字符相等就移动,不等就更新长度。
代码实现:

class Solution {
public:int getLongestPalindrome(string A) {int n=A.size();int ret=0;for(int i=0;i<n;i++){int left=i-1,right=i+1;while(left>=0&&right<n&&A[left]==A[right]){left--;right++;}ret=max(ret,right-left-1);left=i,right=i+1;while(left>=0&&right<n&&A[left]==A[right]){left--;right++;}ret=max(ret,right-left-1);}return ret;}
};

NO.2
在这里插入图片描述
思路:定义一个前驱最小值,最大利润等于当前值减去前去最小值,前驱最小值等于当前值和它前驱最小值的最小值,利用一个循环遍历一遍就可以实现。

代码实现:

#include <iostream>
using namespace std;const int N=1e5+10;
int n;
int arr[N];int main() {cin>>n;for(int i=0;i<n;i++) cin>>arr[i];int ret=0,prevmin=arr[0];for(int i=1;i<n;i++){ret=max(ret,arr[i]-prevmin);prevmin=min(prevmin,arr[i]);}cout<<(ret<0?0:ret)<<endl;}

如果不想最后判断的话,最后调换一下ret和prevmin的最小值的顺序的就可以了。

#include <iostream>
using namespace std;const int N=1e5+10;
int n;
int arr[N];int main() {cin>>n;for(int i=0;i<n;i++) cin>>arr[i];int ret=0,prevmin=arr[0];for(int i=1;i<n;i++){prevmin=min(prevmin,arr[i]);ret=max(ret,arr[i]-prevmin);}cout<<ret<<endl;}

NO.3
在这里插入图片描述
思路:dp路径问题,分情况讨论,如果要走的点为马控制的点或马本身的点,那么dp[i][j]为0,否则dp[i][j]=dp[i][j-1]+dp[i-1][j],因为我们多开辟一行一列,所以初始化初始化的时候先x+1,y+1,保证能够关系映射,并且令dp[0][1]或者是dp[1][0]为1。

#include <iostream>
using namespace std;int n,m,x,y;
long long dp[25][25];int main() {cin>>n>>m>>x>>y;x+=1;y+=1;dp[0][1]=1;for(int i=1;i<=n+1;i++){for(int j=1;j<=m+1;j++){if(i!=x&&j!=y&&abs(i-x)+abs(j-y)==3||(i==x&&j==y)){dp[i][j]=0;}else {dp[i][j]=dp[i][j-1]+dp[i-1][j];}}}cout<<dp[n+1][m+1]<<endl;return 0;
}

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

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

相关文章

五、VGA 叠加图像原理和实现(十字光标)

前言&#xff1a;该案例在VGA项目&#xff1a;联合精简帧双fifosobel算法 实现VGA显示项目的基础上进行改动。 要求&#xff1a;通过串口助手把 198x198 的十字光标图像二进制数据传递给 FPGA 板卡&#xff0c;FPGA 板 卡接收到后存储到 Ram 中用于 VGA 叠加显示。 预期效果展…

为什么电子商务安全是速度和保护之间的平衡行为

微信搜索关注公众号网络研究观&#xff0c;获取更多信息。 电子商务世界是一把双刃剑。虽然它为企业和消费者提供了便利和可访问性&#xff0c;但它也为网络犯罪分子提供了诱人的目标。在这个不断变化的环境中&#xff0c;优先考虑安全不再是一种选择&#xff1b;而是一种选择&…

解决Win10家庭版找不到组策略gpedit.msc的·方法

因为电脑出问题&#xff0c;一开机就会自动开启ie浏览器&#xff0c;所以就想找有没有方法解决&#xff0c;然后就了解到了gpedit.msc的作用以及相关的一些方法&#xff0c;也是为之后也许有人遇到相同的问题有个提供方法的途径。 首先我们直接运行gpedit.msc 是找不到的&…

vivado刷题笔记46

题目&#xff1a; Design a 1-12 counter with the following inputs and outputs: Reset Synchronous active-high reset that forces the counter to 1 Enable Set high for the counter to run Clk Positive edge-triggered clock input Q[3:0] The output of the counter c…

【网络知识】光猫、路由器 和 交换机 的作用和区别?

数字信号&#xff1a;是指自变量是离散的、因变量也是离散的信号&#xff0c;这种信号的自变量用整数表示&#xff0c;因变量用有限数字中的一个数字来表示。在计算机中&#xff0c;数字信号的大小常用有限位的二进制数表示。 模拟信号&#xff1a;模拟信号是指用连续变化的物…

神经网络中的归一化

我们今天介绍一下神经网络中的归一化方法~ 之前学到的机器学习中的归一化是将数据缩放到特定范围内&#xff0c;以消除不同特征之间的量纲和取值范围差异。通过将原始数据缩放到一个特定的范围内&#xff0c;比如[0,1]或者[-1,1]&#xff0c;来消除不同特征之间的量纲和取值范围…

Excel利用数据透视表将二维数据转换为一维数据(便于后面的可视化分析)

一维数据&#xff1a;属性值都不可合并&#xff0c;属性值一般在第一列或第一行。 二维数据&#xff1a;行属性或列属性是可以继续合并的&#xff0c;如下数据中行属性可以合并为【月份】 下面利用数据透视表将二维数据转换为一维数据&#xff1a; 1、在原来的数据上插入数据透…

机器人系统ros2-开发实践05-将静态坐标系广播到 tf2(Python)-定义机器人底座与其传感器或非移动部件之间的关系

发布静态变换对于定义机器人底座与其传感器或非移动部件之间的关系非常有用。例如&#xff0c;最容易推断激光扫描仪中心框架中的激光扫描测量结果。 1. 创建包 首先&#xff0c;我们将创建一个用于本教程和后续教程的包。调用的包learning_tf2_py将依赖于geometry_msgs、pyth…

蛋白质/聚合物防污的机器学习(材料基因组计划)

前言&#xff1a;对于采用机器学习去研究聚合物的防污性能&#xff0c;以及或者其他性质。目前根据我的了解我认为最困难的点有三条&#xff1a; 其一&#xff1a;数据&#xff0c;对于将要训练的数据必须要有三点要求&#xff0c;1.数据要多&#xff0c;也就是大数据&#xff…

设置定位坐标+请按任意键继续

设置定位坐标 目的 在编程和游戏开发中&#xff0c;设置定位坐标的目的是为了确定对象在屏幕或游戏世界中的具体位置。坐标通常由一对数值表示&#xff0c;例如 (x, y)&#xff0c;其中 x 表示水平位置&#xff0c;y 表示垂直位置。设置定位坐标的目的包括&#xff1a; 1. **精…

jquery项目 html使用export import方式调用模块

jquery的老项目&#xff0c;引入vue3, 需要方便使用export, import方式引用一些常用的方法与常量 导出模块 export js/numberUtil.js /*** Description:* Author Lani* date 2024/1/10*//* * 【金额】 保留2位小数&#xff0c;不四舍五入 * 5.992550 >5.99 , 2 > 2.…

Vue3 动态引入图片: require is not defined报错

问题&#xff1a;在 Vue3 项目中&#xff0c;使用 require 引入图片&#xff0c;报错 require is not defined 原因&#xff1a; Vue3 使用的是 vite&#xff0c;而 require 是 Webpack 的方法。 官网说明&#xff1a; 解决代码&#xff1a; <template><div v-fo…