摘要: #简介 对于一个集合 {1, 2, ... , n} ,其不同排列有 $n!$ 种,将各种排列按照字典序从小到大编号(0 ~ $n!-1$ )。康托编码与解码旨在解决这么一个问题:给定一个排列X,它的序号是多少。或者给定一个序号,它的排列是怎么样的。 ###康托表达式 $X=f(n) \cdot ( 阅读全文
posted @ 2023-05-04 22:47 sc01 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 简介 数根又称数字根(Digital root),是自然数的一种性质,每个自然数都有一个数根。对于给定的自然数,反复将各个位上的数字相加,直到结果为一位数,则该一位数即为原自然数的数根。显然,数根的范围在[1,9]之间。 如何计算数根 最直观的方法是模拟各位相加的过程,直到剩下的数字是一位数。 计算 阅读全文
posted @ 2023-05-02 23:00 sc01 阅读(466) 评论(0) 推荐(0) 编辑
摘要: 平方差 ###题目描述 ###题解 由平方差公式:$y^2-z^2=(y+z)(y-z)$,不妨设$x=ab$,令$$y+z=a$$ $$y-z=b$$则只要 $a,b$ 奇偶性相同,$y,z$ 就有整数解。若 $x$ 为奇数,则 $x$ 可以分解为1和 $x$ ,若 $x$ 为偶数,只有当 $x$ 阅读全文
posted @ 2023-04-18 13:19 sc01 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 最接近的三数之和 ###题目描述 ###题解 暴力解法即是三重循环,时间复杂度为$O(n^3)$。但是,这种多个数字求和的题目都可以通过双指针的方法降低一层循环。首先我们枚举元素a,那么对于剩下的两个元素b和c,我们希望它们的和能够接近target-a。但是若要利用双指针,则需要一点预处理过程,即对 阅读全文
posted @ 2023-04-16 23:03 sc01 阅读(20) 评论(0) 推荐(0) 编辑
摘要: ##二分图简介 定义:二分图的顶点集可分割为两个互不相交的子集,图中每条边依附的两个顶点都分属于这两个子集,且两个子集内的顶点不相邻。![image](https://img2023.cnblogs.com/blog/3090474/202304/3090474-20230415154956321- 阅读全文
posted @ 2023-04-15 17:23 sc01 阅读(24) 评论(0) 推荐(0) 编辑
摘要: ##普通DP回顾 DP是解决多阶段决策最优化问题的一种思想方法,即利用各个阶段之间的关系,逐个求解,最终求得全局最优解。我们通常需要确认原问题与子问题、动态规划状态、边界状态、状态转移方程。 ![image](https://img2023.cnblogs.com/blog/3090474/2023 阅读全文
posted @ 2023-04-04 22:37 sc01 阅读(84) 评论(0) 推荐(1) 编辑
摘要: ##介绍 给定一个序列 $a$ ,其相邻两项之差构成另一个序列 $s$,则称 $s$ 为差分数组。 下图是一个简单的例子: 差分数组主要适用于区间修改。如上表中的例子,我们进行该操作:将下标区间为$[1,4]$内的元素都加上3。暴力方法是进行遍历,给每一个元素都加上该数值,但是这样的话时间消耗很大, 阅读全文
posted @ 2023-04-02 20:57 sc01 阅读(34) 评论(0) 推荐(0) 编辑
摘要: [原题:选数异或](https://www.lanqiao.cn/problems/2081/learning/ "原题:选数异或") ##题目描述 ![image](https://img2023.cnblogs.com/blog/3090474/202304/3090474-2023040213 阅读全文
posted @ 2023-04-02 15:27 sc01 阅读(97) 评论(0) 推荐(0) 编辑
摘要: ##介绍 Brian Kernighan's 算法是一种用于计算一个整数的二进制表示中有多少个1的高效算法。该算法的基本思想是每次将该整数的最右边的一个1置为0,直到该整数变为0为止。每次将1置为0的操作都会使得该整数的二进制表示中的1的个数减少1。 int count_set_bits(int n 阅读全文
posted @ 2023-03-28 22:36 sc01 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 343.整数拆分 ##题目 给定一个正整数n ,将其拆分为k个正整数的和( k>= 2 ),并使这些整数的乘积最大化。 返回你可以获得的最大乘积。 示例 1: 输入: n = 2 输出: 1 解释: 2 = 1 + 1, 1 × 1 = 1。 示例 2: 输入: n = 10 输出: 36 解释: 阅读全文
posted @ 2023-03-28 14:42 sc01 阅读(344) 评论(0) 推荐(1) 编辑