C++数学

前言

C++算法与数据结构
打开打包代码的方法兼述单元测试
数论:质数、最大公约数、菲蜀定理
组合数学汇总

计算几何

博弈论

曼哈顿距离与切比雪夫距离

在这里插入图片描述
红线是哈曼顿距离,绿线是切比雪夫距离。

二维曼哈顿距离转切比雪夫距离

曼哈顿距离:|x1-x2|+|y1-y2|。典型应用:某个棋子只能向4联通移动(上下左右),哈曼顿距离就是就是两点间的移动次数。
切比雪夫距离:max(|x1-x2|,|y1-y2|)。典型应用:某个棋子只能向8联通移动(上下左右及四角),切比雪夫距离就是就是两点间的移动次数。
利用f(x,y)=(x+y,x-y)将点1(x1,y1)点2(x2,y2)转成点3(x3,y3)和点4(x4,y4)后,点1到点2的哈曼顿距离等于点3到点4的切比雪夫距离。下面来证明:
哈曼顿距离:max(x1-x2,x2-x1)+max(y1-y2,y2-y1) = max(x1-x2+y1-y2,x1-x2+y2-y1,x2-x1+y1-y2,x2-x1+y2-y1)
= max(x3-x4,y3-y4,y4-y3,x4-x3)
= max(|x3-x4|,|y3-y4|)即点3到点4的切比雪夫距离。
切比雪夫距离转哈曼顿距离:解2元一次方程组。

多维哈顿曼距离转切比雪夫距离

n维哈曼顿距离可以转化成2n-1维哈曼顿距离:
三维:(x,y,z) → \rightarrow (x+y+z,-x+y+z,x-y+z,x+y-z)。
思维及以上是我的估计,不一定正确:
a+b+c+d,a+b+c-d,a+b-c+d,a+b-c-d,a-b+c+d,a-b+c-d,a-b-c+d,a-b-c-d。
即:a只取正号,其它(n-1)维,全部取正负,共2n-1种可能。

题解2024年11月9

难度分
【C++ 数学】1823. 找出游戏的获胜者1412
【动态规划 数学】2745. 构造最长的新字符串1607
【C++数学 负进制】1017. 负二进制转换1697
【C++ 基础数学 】2121. 2615相同元素的间隔之和1760
【数学】1526: 形成目标数组的子数组最少增加次数1872
【数学】【C++算法】780. 到达终点1897
【C++完全背包 动态规划 数学】1449. 数位成本和为目标值的最大数字1927
【动态规划】【数学】【折半搜索】805 数组的均值分割1982
【数学】927. 三等分1994
3027人员站位的方案数2020
2857. 统计距离为 k 的点对2081
【数学】 【分数】 【字符串】972. 相等的有理数2121
【数学】【计算几何】1453. 圆形靶内的最大飞镖数量2201
3068最大节点价值之和2267
【数学】【位运算】LeetCoce810. 黑板异或游戏2341
【动态规划】【数学】【C++算法】818赛车2394
【动态规划】【数学】1388 3n 块披萨2409
【数学】【网格】【状态压缩】782 变为棋盘2429
【C++ 数学】1330. 翻转子数组得到最大的数组值2481
【分类讨论】【解析几何】【 数学】【推荐】1330. 翻转子数组得到最大的数组值2481
【C++数学】3197. 包含所有 1 的最小矩形面积 II2549
3139. 使数组中所有元素相等的最小开销2666
【设计】 【数学】1622 奇妙序列2476
2019. 解出数学表达式的学生分数2583
【数学】【记忆化搜索 】【动态规划】964. 表示数字的最少运算符2594
【动态规划】【 数学】C++算法:514自由之路无难度分
【动态规划 数学归纳法 二项式定理】C++ 算法458:可怜的小猪无难度分

曼哈顿距离

难度分
【C++ 曼哈顿距离 数学】1131. 绝对值表达式的最大值2059
【C++数学 曼哈顿距离】3102. 最小化曼哈顿距离2215
【键值皆有序map 线段树 数学 】3102. 最小化曼哈顿距离2215

博弈论

难度分
【C++博弈论 动态规划】1510. 石子游戏 IV1786
【C++博弈论 动态规划】1690. 石子游戏 VII1951
【贪心 临项交换 博弈论】1686. 石子游戏 VI2000
【C++ 博弈论 数学】1927. 求和游戏2004
【 C++ 博弈论 动态规划】1406. 石子游戏 III2026
【C++前缀和 动态规划 博弈】1140. 石子游戏 II2034
【博弈】843. 猜猜这个单词2077
【C++ 博弈论 动态规划】1563 石子游戏 V2087

扩展阅读

我想对大家说的话
工作中遇到的问题,可以按类别查阅鄙人的算法文章,请点击《算法与数据汇总》。
学习算法:按章节学习《喜缺全书算法册》,大量的题目和测试用例,打包下载。重视操作
有效学习:明确的目标 及时的反馈 拉伸区(难度合适) 专注
闻缺陷则喜(喜缺)是一个美好的愿望,早发现问题,早修改问题,给老板节约钱。
子墨子言之:事无终始,无务多业。也就是我们常说的专业的人做专业的事。
如果程序是一条龙,那算法就是他的是睛
失败+反思=成功 成功+反思=成功

视频课程

先学简单的课程,请移步CSDN学院,听白银讲师(也就是鄙人)的讲解。
https://edu.csdn.net/course/detail/38771
如何你想快速形成战斗了,为老板分忧,请学习C#入职培训、C++入职培训等课程
https://edu.csdn.net/lecturer/6176

测试环境

操作系统:win7 开发环境: VS2019 C++17
或者 操作系统:win10 开发环境: VS2022 C++17
如无特殊说明,本算法用**C++**实现。

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

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

相关文章

前深度学习时代-经典的推荐算法

参考自《深度学习推荐系统》—— 王喆,用于学习记录。 1.协同过滤 “协同过滤”就是协同大家的反馈、评价和意见一起对海量的信息进行过滤,从中筛选出目标用户可能感兴趣的信息的推荐过程。 基于用户相似度进行推荐的协同过滤算法 UserCF 用户相似度…

10 Oracle Data Guard:打造高可用性与灾难恢复解决方案,确保业务连续性

文章目录 10 Oracle Data Guard:打造高可用性与灾难恢复解决方案,确保业务连续性一、Data Guard基本概念二、Data Guard技术架构三、配置Oracle Data Guard的步骤3.1 准备主数据库和备用数据库3.2 配置Redo日志传输服务3.3 配置Data Guard Broker3.4 启动…

计算机网络综合题

IP数据报的划分 CRC差错检测 冗余码的计算 因此,余数是1110,传输的数为11010110111110。在传输过程中最后两位变成o,接收端能够发现,因为11010110111110除以10011余数不为0。 子网划分 暴力求解法 (定长子网划分大量…

计算机课程管理:Spring Boot与工程认证的协同

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

Java | Leetcode Java题解之第557题反转字符串中的单词III

题目&#xff1a; 题解&#xff1a; class Solution {public String reverseWords(String s) {StringBuffer ret new StringBuffer();int length s.length();int i 0;while (i < length) {int start i;while (i < length && s.charAt(i) ! ) {i;}for (int …

C++ | Leetcode C++题解之第556题下一个更大元素III

题目&#xff1a; 题解&#xff1a; class Solution { public:int nextGreaterElement(int n) {int x n, cnt 1;for (; x > 10 && x / 10 % 10 > x % 10; x / 10) {cnt;}x / 10;if (x 0) {return -1;}int targetDigit x % 10;int x2 n, cnt2 0;for (; x2 …

第14张 GROUP BY 分组

一、分组功能介绍 使用group by关键字通过某个字段进行分组&#xff0c;对分完组的数据分别 “SELECT 聚合函数”查询结果。 1.1 语法 SELECT column, group_function(column) FROM table [WHERE condition] [GROUP BY group_by_expression] [ORDER BY column]; 明确&#…

go函数传值是值传递?还是引用传递?slice案例加图解

先说下结论 Go语言中所有的传参都是值传递&#xff08;传值&#xff09;&#xff0c;都是一个副本&#xff0c;一个拷贝。 值语义类型&#xff1a;参数传递的时候&#xff0c;就是值拷贝&#xff0c;这样就在函数中就无法修改原内容数据。 基本类型&#xff1a;byte、int、bool…

UDP checksum(UDP校验和)

UDP校验和&#xff08;UDP checksum&#xff09;是一种用于检测传输中的UDP数据包在传输过程中是否发生错误的机制。UDP&#xff08;用户数据报协议&#xff09;是一种简单的无连接的传输层协议&#xff0c;它用于在网络中发送数据包&#xff0c;但不提供数据包的传输可靠性或顺…

使用pycharm调试程序——完全显示张量的数值

我在使用PyCharm调试程序时&#xff0c;发现有些张量因为shape过大&#xff08;数据量太多&#xff09;&#xff0c;导致该张量中的数值无法完全显示。下面就简单介绍怎样完全显示张量中的数值。 假设某个张量 inp_voxel 的 shape 为 torch.Size([5, 128, 128])&#xff0c;如…

MYSQL隔离性原理——MVCC

表的隐藏字段 表的列包含用户自定义的列和由系统自动创建的隐藏字段。我们介绍3个隐藏字段&#xff0c;不理解也没有关系&#xff0c;理解后面的undo log就懂了&#xff1a; DB_TRX_ID &#xff1a;6 byte&#xff0c;最近修改( 修改/插入 )事务ID&#xff0c;记录创建这条记…

strtok函数详解

strtok函数 strtok 函数是一个字符串分割函数&#xff0c;用于将字符串分割成一系列的标记。这个函数通过一组分隔符字符来确定标记的边界&#xff0c;每次调用都会返回字符串中的下一个标记&#xff0c;并且将原始字符串中的分隔符替换为空字符‘\0’&#xff0c;从而实际上是…

NewStar CTF 2024 misc WP

decompress 压缩包套娃&#xff0c;一直解到最后一层&#xff0c;将文件提取出来 提示给出了一个正则&#xff0c;按照正则爆破密码&#xff0c;一共五位&#xff0c;第四位是数字 ^([a-z]){3}\d[a-z]$ 一共就五位数&#xff0c;直接ARCHPR爆破&#xff0c;得到密码 xtr4m&…

Git介绍以及SSH配置

目录 1. Git介绍 1.1 Git的基本原理 1.2 Git的主要功能 1.3 Git的优点 1.4 Git的缺点 2. Git安装 3. SSH配置 1. Git介绍 Git是一款功能强大的分布式版本控制系统&#xff0c;最初由Linux操作系统的开发者Linus Torvalds在2005年开发&#xff0c;用于管理Linux内核的源代…

PH热榜 | 2024-11-09

DevNow 是一个精简的开源技术博客项目模版&#xff0c;支持 Vercel 一键部署&#xff0c;支持评论、搜索等功能&#xff0c;欢迎大家体验。 在线预览 1. Shootmail 标语&#xff1a;像Notion一样&#xff0c;可以创建漂亮邮件模板和邮件内容的工具。 介绍&#xff1a;想象一下…

嵌入式学习第21天Linux基础

目录 第1章 Linux 系统介绍 1.1 Unix 操作系统&#xff08;了解&#xff09; 1.2 Linux 操作系统&#xff08;了解&#xff09; 1.3 Linux 操作系统的主要特性&#xff08;重点&#xff09; 1.4 Linux 与 Unix 的区别与联系 1.5 GUN 与 GPL&#xff08;了解&#xff09; …

【小程序安全】小程序反编译

❤️博客主页&#xff1a; iknow181 &#x1f525;系列专栏&#xff1a; 网络安全、 Python、JavaSE、JavaWeb、CCNP &#x1f389;欢迎大家点赞&#x1f44d;收藏⭐评论✍ 0x01 前期准备 知识点准备-小程序结构 1.主体结构 小程序包含一个描述整体程序的 app 和多个描述各自页…

C++ : STL容器(适配器)之stack、queue剖析

STL容器适配器之stack、queue剖析 一、stack、queue的接口&#xff08;一&#xff09;stack 接口说明&#xff08;二&#xff09;queue 接口说明 二、stack、queue的模拟实现&#xff08;一&#xff09;stack、queue是容器适配器stack、queue底层默认容器--deque1、deque概念及…

Kubernetes的基本构建块和最小可调度单元pod-0

文章目录 一&#xff0c;什么是pod1.1pod在k8s中使用方法&#xff08;1&#xff09;使用方法一&#xff08;2&#xff09;使用方法二 1.2pod中容器的进程1.3pod的网络隔离管理&#xff08;1&#xff09;pause容器的作用 1.4 Pod分类&#xff1a;&#xff08;1&#xff09;自主式…

【CUDA】认识CUDA

目录 一、CUDA编程 二、第一个CUDA程序 三、CUDA关键字 四、device管理 4.1 初始化 4.2 Runtime API查询GPU信息 4.3 决定最佳GPU CUDA C 编程指南CUDA C在线文档&#xff1a;CUDA C 编程指南 CUDA是并行计算的平台和类C编程模型&#xff0c;能很容易的实现并行算法。只…