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

还是要学好数学啊

有一个无穷大的二维网格图,一开始所有格子都未染色。给你一个正整数 n ,表示你需要执行以下步骤 n 分钟:

第一分钟,将任一格子染成蓝色。

之后的每一分钟,将与蓝色格子相邻的 所有 未染色格子染成蓝色。

下图分别是 1、2、3 分钟后的网格图。

96a6b5a09f43a7ef9af62d720c5e5b9b.png

请你返回 n 分钟之后 被染色的格子 数目。

题目链接:https://leetcode.cn/problems/count-total-number-of-colored-cells

今天刷到这题,觉得有意思。在纸上画的麻烦,搞个excel涂色,还挺减压的,就像这样:

b8bee81defcf0fd1aad03f1469c41936.png

n=1时,红色1

n=2时,多了橙色,1 + 4 = 5

n=3时,多了绿色,5 + 8 = 13

n=4时,多了紫色,13 + 12 = 25

观察下,规律来了:

n=1时,红色1 = 1  + (1 - 1)* 4  

n=2时,多了橙色,1 + 4 = 5 = 1  + (2 - 1)* 4  

n=3时,多了绿色,5 + 8 = 13 = 5  + (3 - 1)* 4  

n=4时,多了紫色,13 + 12 = 25 = 13  + (4 - 1)* 4

那么公式,就是: 后一个数 = 前一个数 + (n-1)*4  

这让人联想到类似斐波拉契数组的解法,F(n) = F(n-1) + (n-1) * 4

于是代码如下,可见非常低效4ffd048c6d536b97194bd013ba9156ce.png,因为太多重复计算了。

8db6f4651f833153b7ffa6c32477979e.png

既然都知道公式了,可以把公式用作 DP 动态规划转移方程,可以将粗暴递归的重复计算变成线性的 O(n) 规模。

于是代码如下:

6cef17ea9d489bef9e60060a23f4471c.png

有一点点提升bab5bae55c6bbf3821f8d4603cfa33e3.png

发大招,上数学归纳法

e65b0672131b95faf79e636e5fe26ea3.png

这是我家女神帮我算的,我这学渣不懂,说是什么高斯定理,高斯是谁?大家知道吗?89db8d058a451d2418ce3b2e3a7ca5d6.png

(什么?字不好看?风大听不见,你再说一遍?哦哦,没关系,人漂亮啊)

管他呢,现在有了公式,代码就只要一行了,秀的简直不行不行的。08a0e0ace6174ba5d91d8c80d2e25075.png

感受下,击败100%

7d0ca563f536d969305cf1b8aa03a0e5.png

数学好,就是秒杀全场,什么迭代,什么动态规划,都不在话下。

所以,同学们,弟弟妹妹们,还是好好学数学吧。

当然,还有一个 excel 图像法,我不会推公式,我会画图,小学数学老师教的 “加辅助线” ,加辅助线也能推导出用高斯推导出来的那个啥公式,你看看。

e652a03c80453e3ed950ff508c7491e0.png

四条红色的辅助线,把图像分成了四个大红块,加中间一个小红块

中间一个小红块就是1

大红块的规律,看右下角,标了数字,好数。

这是 n = 4 时候的图,长方形的面积等于长乘以宽,4乘以3,然后去掉灰色的恰好是一半,4*3/2,那么得到公式就是(n-1)乘以 n 乘积的一半。

那么最终的公式就是:

F(n) = 4 个大红块面积的一半 + 1 个小红块 

       = 两个大红块面积 + 1个小红块

       = 2 * n  *(n-1) + 1

所以,图形化的学数学,简直太棒了。(这点建议希望数学老师参考下哈,不然学得没有趣味,还会有很多我这样的学渣 8dbda298509597be8cea24e6b0a12338.png15e0d5135574131a72da6f31fa54cbed.png3e7c92a303f86ab5489fd6151f77df7e.png

相关文章:

还是要学好数学啊

有一个无穷大的二维网格图,一开始所有格子都未染色。给你一个正整数 n ,表示你需要执行以下步骤 n 分钟:第一分钟,将任一格子染成蓝色。之后的每一分钟,将与蓝色格子相邻的 所有 未染色格子染成蓝色。下图分别是 1、2、…...

ActiveMQ反序列化漏洞原理+复现

ActiveMQ反序列化漏洞 ActiveMQ ActiveMQ是开源消息总线,消息中间件 工作原理 通过使用消息队列,实现服务的异步处理,主要目的是减少请求响应时间和解耦合。 消息队列,服务器A将客户发起的请求放入服务器B的消息队列中&#…...

layui框架实战案例(19):layui-table模块表格综合应用(筛选查询、导入导出、群发短信、一键审核、照片展示、隐私加密)

系列文章目录 layui动态表格翻页和搜索的代码分析layui框架实战案例(3):layui上传错误请求上传接口出现异常解决方案layui框架实战案例(9):layPage 静态数据分页组件layui框架实战案例(10):短信验证码60秒倒计时layui框架实战案例(11)&#…...

分析vmlinux,uImage,zImage,Image的生成以及之间的关系

1.在内核源码顶层目录下打开Makefile,搜索vmlinux,找到以下内容:可知主要靠$(vmlinux-deps)生成。继续搜索查看变量vmlinux-deps的值,找到:KBUILD_LDS为链接文件,剩下两个变量如下:搜索head-y未…...

设计模式-六大设计原则详解(java 版)

设计模式-六大设计原则单一职责原则里氏替换原则开闭原则接口隔离原则依赖倒置原则迪米特法则初次接触设计模式是在就读大学期间,或许那时候进入实验室有较好的导师及厉害点的同学,接的校外的商业代码都较为规范整洁,拗口的设计模式在学习中便…...

Linux下Nginx安装使用

一、下载解压nginx # 进入要放安装包的目录 cd /opt/software # 下载安装包 wget https://nginx.org/download/nginx-1.20.2.tar.gz # 解压缩 tar -zxvf nginx-1.20.2.tar.gz -C /opt/modules # 进入解压后的目录 cd /opt/modules/nginx-1.20.2/二、安装nginx 1、安装编译器 …...

推动汽车业务向前发展的混合云战略:汽车数据解决方案

推动汽车业务向前发展的混合云战略 无论您的数据是位于内部还是公有云中,与 NetApp 合作都可以帮助您的汽车业务充分发挥它们的潜能 前有混合动力汽车,后有混合云 通过精心考虑的混合多云战略,汽车制造商可以根据不同需求和环境移动应用程序…...

Boosting三巨头:XGBoost、LightGBM和CatBoost(发展、原理、区别和联系,附代码和案例)

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…...

设计模式~模板方法模式(Template method)-10

目录 (1)优点: (2)缺点: (3)使用场景: (4)注意事项: (5)应用实例: (6)Servlet Api & Spring 中的应用 代码 (钩子函数)在模板模式(Template Pattern)中,一个抽象类公开定…...

【WebSocket】在SSM项目中配置websocket

在SSM项目中配置websocket 最近在ssm项目中配置了websocket,踩了很多坑,来分享一下 本文暂不提供发送消息等内容的代码逻辑(后续也许会补充),如果你直接复制这类可能会对配置造成更大的麻烦(博主就是复制…...

node-red中创建自定义节点 JavaScript 文件API编写详解

前言 在node-red中如果你没有找到自己需要的节点时,那么你可以自定义一个节点来满足自己的需求。之前的文章中,我有简单介绍过如何创建一个节点,并以转换大小写来举例。例子虽然简单,但可以让大家了解创建自定义节点的步骤以及一个节点的组成部分。那么本篇将会聚焦在自定…...

华为OD机试 - 寻找路径 or 数组二叉树(C 语言解题)【独家】

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧文章目录 使用说明本期题目:寻找路径…...

YOLOv7、YOLOv5改进之打印热力图可视化:适用于自定义模型,丰富实验数据

💡该教程为改进YOLO高阶指南,属于《芒果书》📚系列,包含大量的原创改进方式🚀 💡更多改进内容📚可以点击查看:YOLOv5改进、YOLOv7改进、YOLOv8改进、YOLOX改进原创目录 | 唐宇迪老师联袂推荐🏆 💡🚀🚀🚀内含改进源代码 按步骤操作运行改进后的代码即可�…...

【Java代码与架构之完美优化】篇1:代码质量优化通用准则

工欲善其事,必先利其器 1. 避免使用空块 常见空块一般有以下几种情况: 多余的分号:if(xxx);多余的大括号:if(xxx){这里没有内容}空finall语句:try{...}catch(...){...}finally{这里没有内容} 空块的存在&#xff0…...

Linux进程间通信详解(最全)

进程间的五种通信方式介绍 进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享内存、Socket(套接字&a…...

ROS 摄像头的使用

参考: ​ youtubeArticulated Robotics ​ 作者Josh Newans博客 建议: 这个只是我的看法,强烈建议看原视频或博客 png:无损压缩 jpeg:有损压缩 Driver Node 负责连接硬件设备,读取摄像头数据"ima…...

VR全景云展厅,实现7*24小时的线上宣传能力!

数字化时代,虚拟现实技术的应用越来越广泛,其中VR全景云展厅是一种新兴的展示方式,具有独特的展示优势。随着VR技术的不断发展,越来越多的企业、机构和个人开始使用VR全景云展厅来展示他们的产品和服务。一、展厅营销痛点1、实地到…...

RK3568平台开发系列讲解(显示篇) DRM显示系统组成分析

🚀返回专栏总目录 文章目录 一、DRM Framebuffer二、CRTC三、Planes四、Encoder五、Connector沉淀、分享、成长,让自己和他人都能有所收获!😄 📢让我们分析一下绿框中的五个部件,以及他们的联动。 一、DRM Framebuffer 与 framebuffer一样,是一片存放图像的内存区域,…...

WPF DataGrid控件的使用 使用列模板来进行数据格式的美化

<Grid><Grid.RowDefinitions><RowDefinition Height"0.1*" /><RowDefinition /></Grid.RowDefinitions><Button Content"刷新"FontSize"25"Command"{Binding ExecuteRefreshCommand}" /><Dat…...

elasticsearch自定义企业词典

我们中文分词用的是ik&#xff0c;但是ik只是对基本的中文词进行了分词&#xff0c;而对于企业或者人名没有进行分词。比如&#xff0c;我搜索中国平安&#xff0c;那么ik只能分成中国、平安如果这样&#xff0c;这肯定是不行滴&#xff01;接下来&#xff0c;俺就教你&#xf…...

【AcWing】学了一坤时才明白的一道题

&#x1f386;音乐分享 &#xff08;点击链接可以听哦&#xff09; The Right Path - Thomas Greenberg 这道题小吉花了一坤时才弄明白&#xff0c;虽然花的时间有点长 但是至少是明白了 &#x1f60e;&#x1f60e;&#x1f60e;&#x1f60e;&#x1f60e;&#x1f60e; …...

ES6的export和import

ES6中的模块加载ES6 模块是编译时加载&#xff0c;编译时就能确定模块的依赖关系&#xff0c;以及输入和输出的变量&#xff0c;相比于CommonJS 和 AMD 模块都只能在运行时确定输入输出变量的加载效率要高。严格模式ES6 的模块自动采用严格模式&#xff0c;不管你有没有在模块头…...

ASEMI高压MOS管20N60参数,20N60尺寸,20N60体积

编辑-Z ASEMI高压MOS管20N60参数&#xff1a; 型号&#xff1a;20N60 漏极-源极电压&#xff08;VDS&#xff09;&#xff1a;600V 栅源电压&#xff08;VGS&#xff09;&#xff1a;30V 漏极电流&#xff08;ID&#xff09;&#xff1a;20A 功耗&#xff08;PD&#xff…...

【备战面试】TCP的三次握手与四次挥手

本篇总结的是计算机网络知识相关的面试题&#xff0c;后续也会更新其他相关内容 文章目录1、TCP头部结构2、三次握手3、四次挥手4、为什么TCP连接的时候是三次&#xff1f;两次是否可以&#xff1f;5、为什么TCP连接的时候是三次&#xff0c;关闭的时候却是四次&#xff1f;6、…...

【模板进阶】

目录 1. 非类型模板参数 2. 模板的特化 2.1 概念 2.2 函数模板特化 2.3 类模板特化 2.3.1 全特化 3 模板分离编译 3.1 什么是分离编译 3.2 模板的分离编译 4. 模板总结 有需要的老哥可以先看看模板的介绍&#xff1a;http://t.csdn.cn/2TkUYhttp://t.csdn.cn/2TkUY 1. …...

Tech Talk | 电致变色技术带来的智能AR体验

2023年2月27日&#xff0c;小米在2023MWC世界移动通信大会上&#xff0c;正式发布了小米无线AR眼镜探索版。这款产品搭载了创新的数控电致变色镜片&#xff0c;能适应不同光环境&#xff0c;遮光模式可以在观影时更沉浸&#xff0c;通透模式又能让AR虚实结合的体验更生动。“ 本…...

ACWING蓝桥杯每日一题python(持续更新

ACWing蓝桥杯每日一题 一直没时间去总结算法&#xff0c;终于有空可以总结一下刷的acwing了&#xff0c;因为没时间所以最近只刷了ACWING的蓝桥杯每日一题。。。真是该死 1.截断数组 首先我们要知道&#xff0c;如果sum(a)不能被3整除或者len(a) < 3 &#xff0c;那么他肯…...

【Linux】进程状态(阻塞、挂起、僵尸进程)

文章目录1 阻塞与挂起1.1 阻塞1.2 挂起2 进程状态前言&#xff1a; 当我们在Windows下双击运行一个程序&#xff0c;或是在Linux下通过 ./ 加载运行一个程序&#xff0c;是否就代表对应的进程就一直处在运行状态呢&#xff1f;其实不然&#xff0c;一个进程有许多不同的状态。当…...

规约第二章

文章目录有限域的定义Definition of Finite Field单位元运算举例素数域群阿贝尔群阿贝尔循环群循环子群阿贝尔循环群且阶是素数的有限域的定义Definition of Finite Field 单位元 这里一般只需要记住2个0&#xff0c;1 。0是加法的单位元&#xff0c;1是乘法的单位元。以及逆…...

2019年MathorCup数学建模C题汽配件制造业中的生产排程问题解题全过程文档及程序

2019年第九届MathorCup高校数学建模挑战赛 C题 汽配件制造业中的生产排程问题 原题再现&#xff1a; 整体求解过程概述(摘要) 随着市场竞争日趋激烈&#xff0c;企业开始更加注重低费高效&#xff0c;因此生产排程问题成为众多制造企业关注的热点之一。其中&#xff0c;制造行…...